grep 文件过滤分割与合并
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-B 显示关键字的后行数
-C 显示关键字的前后行数
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i 胡列字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-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