正则表达式元字符及grep选项
作者:
健四郎 | 来源:发表于
2019-08-23 17:41 被阅读0次
grep使用的正则表达式元字符
元字符 |
功能 |
示例 |
匹配对象 |
^ |
行首定位符 |
'^hello’ |
匹配所有以hello开头的行 |
$ |
行尾定位符 |
'hello$’ |
匹配所有以hello结尾的行 |
. |
匹配任意一个字符 |
'h.l’ |
匹配包含一个h字符,后面跟一个字符(随意),再跟一个l的行 |
* |
匹配0或多个前一字符 |
'h*l’ |
匹配包含零个或多个h字符,后面跟有一个l字符的行 |
[] |
匹配一组字符中的任意一个 |
'[Hh]ello’ |
匹配hello,或者Hello |
[^] |
匹配不在指定字符组内的字符 |
'[^a-z]ello’ |
匹配不包含在a-z之间的字符后跟着ello的行 |
\< |
词首定位符 |
'\<hello’ |
匹配以hello为开头的词的行,helloabcd也是可以的 |
\> |
词尾定位符 |
'hello\>’ |
匹配以hello为结尾的词的行,abcdhello也是可以的 |
\(..\) |
标记匹配的字符 |
'\(hello\)'s blog’ |
标记寄存器里的一段字符,该寄存器被记作1号寄存器。以后引用这段字符时,可以使用\1来重复该模式。9个标签中最左边的是第一号。例如,模式hello被保存在1号寄存器里,之后用\1来引用它。 |
x\{m\}或x\{m,\}或x\{m,n\} |
字符x的重复出现 |
's\{5\}’,'s\{5,\}’,'s\{5,10\}’ |
匹配连续出现5个s、至少5个s或5到10个s的行 |
grep命令的选项:
观其语法结构,grep有着很丰富的选项。下面的表格中我会为大家介绍其常用的选项。
选项 |
功能 |
-b |
在每一行前面加上其所在的块号,根据上下文定位磁盘块时可能会用到 |
-c |
显示匹配到的行的数目,而不是显示行的内容 |
-h |
不显示文件名 |
-i |
比较字符时忽略大小写的区别 |
-l(小写的字母L) |
只列出匹配行所在文件的文件名(每个文件名只列一次),文件名之间用换行符分隔 |
-n |
在每一行前面加上它在文件中的相对行号 |
-s |
无声操作,即只显示报错信息,用于检查退出状态 |
-v |
反向查找,只显示不匹配的行 |
-w |
把表达式作为词来查找,就好像它被\<和\>夹着那样。只适用于grep(并非所有版本的grep都支持这一功能,譬如,SCO UNIX就不支持) |
本文标题:正则表达式元字符及grep选项
本文链接:https://www.haomeiwen.com/subject/zcdtectx.html
网友评论