grep 文件过滤分割与合并正则表达式
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
express
选项
ide
-A<显示列数> 除了显示符合范本样式的那一行以外,并显示该行以后的内容。工具
-B 显示关键字的后行数spa
-C 显示关键字的先后行数orm
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。递归
-i 胡列字符大小写的差异。字符串
-l 列出文件内容符合指定的范本样式的文件名称。it
-L 列出文件内容不符合指定的范本样式的文件名称。io
-n 在显示符合范本样式的那一列以前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
经常使用实例
查找颜色显示
grep --color "match_pattern" file_name # 或者--color=auto
查找忽略大小写查找
echo "hello world" | grep -i "HELLO"
多级目录中对文本进行递归并显示内容
grep -rn "text" path/ #查找目录要-r,-n显示行号,一个文件可能会显示多行
多级目录中对文本进行递归并显示文件名
grep -rl "text" path/
查找关键字后的2行, After
grep -A 2 kim a.txt
查找关键字前2行, Before
grep -B 2 kim a.txt
查找关键字先后2行
grep -C 2 kim a.txt
扩展查找字符串
grep -E 'kim|root' /etc/passwd
反转查找grep -v kim a.txt