Grep是一个文本过滤工具。接下来,我们将通过本文介绍正则表达式grep的用法。这篇文章很详细,有一定的参考价值。有需要的请参考。
语法:grep选项' ' word '文件名
-c:打印所需的行数。
-i:不区分大小写
-n:显示行号,同时输出符合要求的行。
-v:打印不符合要求的行。
-A:后面跟一个数字N,表示打印合格的行和后面的N行。
-B:后面跟一个数字N,表示打印合格行和前N行。
-C:后面跟一个数字N,表示打印合格行和上下N行。
-r:将遍历目录中的所有文件。
-颜色:用红色标记匹配的关键词。
示例:
过滤掉带有某个关键字的行,输出行号。
grep -n 'root' 1.txt
过滤掉没有关键字的行,输出行号。
grep -nv 'root' 1.txt
筛选出所有包含数字的行。
grep '[0-9]' 1.txt
过滤掉所有不包含数字的行。
grep -v '[0-9]' 1.txt
删除所有以#开头的行。
grep -v '^#' 1.txt
删除所有空白行和以#开头的行。
'^$' 1 . txt | '^#'
过滤掉以英文字母开头的行。
grep '^[a-zA-Z]' 1.txt
过滤掉以非数字开头的行。
Grep-v' [0-9]' 1.txt或grep' [0-9]' 1.txt。
过滤任意一个或多个字符
grep ' r . o ' 1 . txt;grep ' rt ' 1.txtgrep 'r.t' 1.txt
过滤掉包含根的行及其后的行。
grep -A1 'root' 1.txt
过滤掉包含根的行和上面的行。
grep -B1 'root' 1.txt
指定过滤字符的次数。
grep 'o{2}' 1.txt
将它放在一个目录中,并过滤所有包含eval in的行。php文档。
grep -r - include='。php' 'eval' /data/
过滤两个或更多关键字
Grep-grep -E '123|abc' filename #在文件中查找包含123或abc的行。
或egrep' 123 | ABC '文件名
或awk'/123 | ABC/'文件名
egrep=grep -E
匹配一个或多个前面的字符。
egrep 'o ' 1.txt
0或1匹配?前面的字符
“鹭鸟?”1.txt
匹配roo或匹配主体
egrep 'roo|body' 1.txt
用括号表示一个整体,下面的例子将匹配roo或ato。
egrep 'r(oo)|(at)o' 1.txt
匹配一个或多个oo
egrep '(oo) ' 1.txt。表示任何字符。
:表示0个或多个前面的字符。
:表示一个或多个前面的字符。
?0还是1?前面的字符。*:表示任意字符(包括空白行)
注:还有?Grep不支持。egrep只支持它。
总结
以上是边肖介绍的正则表达式grep用法的详细说明。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。