本文概述
grep工具具有以下使用正则表达式的选项:
- -E:将字符串读取为ERE(扩展正则表达式)
- -G:将字符串读取为BRE(基本正则表达式)
- -P:将字符串读取为PRCE(Perl正则表达式)
- -F:从字面上读取字符串。
匹配图案的打印线
grep命令将搜索与指定模式匹配的行。
句法:
grep <pattern> <fileName>
例:
grep t msg.txt
grep l msg.txt
grep v msg.txt
查看上面的快照, 将显示所有匹配的图案行, 并突出显示图案。
串联字符
如果图案是由多个字符组成的, 则必须按原样进行匹配, 才能显示该行。
例:
grep tp msg.txt
grep in msg.txt
grep is msg.txt
查看上面的快照, 将显示与指定模式完全匹配的行。
非此即彼
在这里, 竖线(|)符号用作OR, 以表示一个或另一个。显示了所有三个版本。选项-E和-P语法相同, 但-G语法使用(\)。
句法:
grep <option> <'pattern|pattern> <fileName>
例:
grep -E 'j|g' msg.txt
grep -P 'j|g' msg.txt
grep -G 'j\|g' msg.txt
查看上面的快照, 应该匹配模式” j”或” g”以显示行。
一个或多个/零个或多个
*表示模式出现0次或多次, +表示模式出现一次或多次。
句法:
grep <option> <'pattern*'> <fileName>
例:
grep -E '1*' list
grep -E '1+' list
查看上面的快照, *字符显示模式” 1″出现零次或多次。但是+字符显示一次或多次出现。
匹配字符串的结尾
为了匹配字符串的结尾, 我们使用$符号。
句法:
grep <pattern>$ <fileName>
例:
grep r$ dupli.txt
grep e$ dupli.txt
查看上面的快照, 显示的行与字符串的末尾匹配。
匹配字符串的开头
为了匹配文件的开头或开头, 我们使用脱字符号(^)。
句法:
grep ^<pattern> <fileName>
例:
grep ^o dupli.txt
查看上面的快照, 显示的行与字符串的开头或开头匹配。
分词
句法:
grep '\b<pattern>\b' <fileName>
例:
grep '\bsome\b' file
看上面的快照, 通过给命令” grep some file”, 将显示所有与单词” some”匹配的行。但是, 通过给命令” grep’\ bsome \ b’file”, 则仅显示匹配单词” some”的行。 。
注意:这也可以在-w选项的帮助下完成。
句法:
grep -w <pattern> <fileName>
例:
grep -w some file
查看上面的快照, 命令” grep -w some file”显示与\ b字符相同的结果。
评论前必须登录!
注册