grep基本命令与正则表达式 grep 命令正则表达式

grep 命令是支持正则表达式的一个多用途文本搜索工具,他的一般格式为:
grep[选项] [模式] [文件...]
grep命令的选项用于对搜索过程进行补充说明。grep命令的模式十分灵活,可以是字符串、变量,还可以是正则表达式。无论模式是何种形式,只要模式中包含了空格,就需要使用双引号或单引号将模式引起来。
下面具体说明grep选项的含义和用法。
1、-c选项:-c选项表示输出匹配字符串行的数量。例子:#输出文件00.pem中包含jk的行的数量$ grep -c jk 00.pem6$
2、-n选项:列出所有的匹配行,并输出行号。例子:#输出文件00.pem中包含jk行的行号和行。$ grep -n jk 00.pem1:jkfrdjkfdkl2:dkjfkjkjelkrge4:frjkj-----------kltijkert9:fjkdkle;roitoer13:djkfthe the2314:the jejk ekj44$
3、-选项: 显示不包含模式的所有行。例子:#输出文件00.pem中不包含jk的行的数量$ grep -vc jk 00.pem12$
4、-i选项: 表示grep命令不区分大小写。例子:#输出文件00.pem中包含 jk(不论大小写)的行$ grep -i jk 00.pemJkfrdjkfdkldkjfkjkjelkrgefrjkj-----------kltijkertfJKdkle;roitoerdjkfthe the23the jejk ekj44$
5、-h选项: 表示查询多文件时不显示文件名。
6、-l选项: 表示只列出符合匹配的文件名,而不列出具体匹配行。
7、-s选项: 表示不显示不存在或无匹配文本的错误信息。例1:#未使用-s选项,打印错误信息$ grep jk dk 00.pemgrep: dk:没有那个文件或目录00.pem:Jkfrdjkfdkl00.pem:dkjfkjkjelkrge00.pem:frjkj-----------kltijkert00.pem:the jejk ekj44
例2:#使用-s选项后,不打印错误信息$ grep -s jk dk 00.pem00.pem:Jkfrdjkfdkl00.pem:dkjfkjkjelkrge00.pem:frjkj-----------kltijkert00.pem:the jejk ekj44$
8、-r选项: 表示递归搜索,不仅搜索当前目录,而且搜索子目录。
9、-w和-x选项:-w选项表示匹配整词,即以模式的字面意思去解析它。-x选项是匹配整行,即只有当文件中有整行内容与模式匹配时,grep命令才输出改行结果。
例:说明grep命令的-w和-x选项的区别
$ cat world.txtHello WorldWorldWorld CupAfricanOne One World$
#搜索包含单词“World”的文本行$ grep -w 'World' world.txtHello WorldWorldWorld CupOne One World$
#搜索整行文本是单词“World”的行$ grep -x 'World' world.txtWorld&
10、-q选项: 表示grep将不再输出任何结果,而是以退出状态表示搜索是否成功。0表示成功,1表示未搜索到满足模式的文本行,2表示命令或程序由于错误而未能执行。
例1:grep命令搜索成功$ grep -q -x 'World' world.txt$ echo $?0$
例2:grep命令未搜索到满足模式的文本行$ grep -q -x 'World African' world.txt$ echo $?1$
例3:grep命令执行失败$ grep -q -x 'World African' worldgrep : world : 没有那个文件或目录$ echo $?
2$
11、-b和-o选项:grep -b选项打印匹配行距文件头部的偏移量,以字节为单位。如果在-b选项后面再加上-o选项,grep命令将打印匹配的词距文件头部的偏移量。例1:#第一条命令:打印匹配行距文件头部的偏移量$ grep -b -w 'World' world.txt0:Hello World12:World18:World Cup36:One One World$
例2:#第一条命令:打印匹配词距文件头部的偏移量$ grep -b -o -w 'World' world.txt6:World12:World18:World44:World$
下面介绍一下grep和正则表达式结合使用的例子。
1、匹配行首:元字符“^”表示行首,如果需要匹配.pem为后缀的文件中以橫杠“-”开头的行,可输入如下命令:$ grep ^- *.pem
2、设置大小写:利用-i符号可以使grep命令不区分大小写,[ ]符号也可以实现这一功能。例如:$ grep -n [Jj][Kk] 00.pemJkfrdjkfdkldkjfkjkjelkrgefrjkj-----------kltijkertfJKdkle;roitoerthe jejk ekj44$
3、匹配重复字符:可以用“.”符号和“*”符号来实现。例1:grep和.符号#表示搜索00.pem文件中以/字符开始、中间4个任意字符、第6个字符仍为/的行。$ grep ^/..../ 00.pem/home/globus/fff.pem
例2:grep和*符号#表示搜索00.pem文件中以“-”开头,重复“-”符号任意次,然后是B字符的行。$ grep ^-*B 00.pem----------Bkjfkerj$
4、转移符:如果匹配的目标字符串包含的元字符,则需要用转义符“”屏蔽其意义。例: #搜索“-”符号重复5次的文本行。$ grep'-{5}' 00.pem----------Bkjfkerjfrjkj----------Bkltijkertriuitieoe---erj-----rg$
5、POSIX字符类:类名 意义[:upper:] 表示大写字母[A-Z][:lower:] 表示小写字母[a-z][:digit:] 表示阿拉伯数字[0-9][:alnum:] 表示大小写字母和阿拉伯数字[0-9 a-zA-Z][:space:] 表示空格或Tab键 [:alpha:] 表示大小写字母[a-zA-Z][:cntrl:] 表示Ctrl键[:graph:][:print:] 表示ASCII码33-16之间的字符[:xdigit:] 表示16进制数字[0-9 A-F a-f]
6、精确匹配:正则表达式中的“<>”用于精确匹配。例子:$ grep the 00.pem #列出包含the字符串的行the jskj 'dffddfd df the rltgkjtuthelr112dkfthe the23the jejk ekj44jhh lk klrthe 'f'$
grep基本命令与正则表达式 grep 命令正则表达式
$ grep "<the>" 00.pem #精确匹配the这个单词the jskj 'dffddfd df the rltthe jejk ekj44$
7、或字符或字符“|”是扩展的正则表达式中定义的,grep需要加上-E才能支持它。grep-E等价于egrep。例:搜索00.pem中以冒号“:”或以非英文字母结尾的行。$ egrep "[^[:alpha:]]$|:$" 00.pemaslkdlsf:tji54oio7yu:gkjtuthelr112dkfthe the23the jejk ekj44jhh lk klrthe 'f'erkjgtl35:rgjtkry67---------------------------------------------$ grep -E"[^[:alpha:]]$|:$" 00.pemaslkdlsf:tji54oio7yu:gkjtuthelr112dkfthe the23the jejk ekj44jhh lk klrthe 'f'erkjgtl35:rgjtkry67----------------------------------------------------------------

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/307091.html

更多阅读

Matlab绘图基本控制命令 matlab基本命令

图形的控制与表现 (Figurecontrol and representation)MATLAB提供的用于图形控制的函数和命令:axis: 人工选择坐标轴尺寸.clf:清图形窗口.ginput: 利用鼠标的十字准线输入.hold:保持图形.shg:显示图形窗口.subplot: 将图形窗口分成N块子

原创 创意农业的基本类型与发展模式 今日头条原创文章类型

【原创】创意农业的基本类型与发展模式2012-02-16 09:35:45阅读(196)评论(0)系统分类:文化个人分类:默认关键词: 原创 创意 类型 农业 模式 基本 发展一.创意农业的基本类型(一)农业资源替代针对本地的农业条件,用充裕资源替代紧缺资源,或

会计基本假设与会计基础 会计的假设

第三节 会计基本假设与会计基础一、会计基本假设会计基本假设是企业会计确认、计量和报告的前提、是对会计核算所处时间、空间环境等所作的合理设定。会计基本假设包括会计主体、持续经营、会计分期和货币计量。(—)会计主体会计主体

声明:《grep基本命令与正则表达式 grep 命令正则表达式》为网友拈花惹草分享!如侵犯到您的合法权益请联系我们删除