Linux那强大的grep

作者:海鹰
此教程讲述Linux强大的grep命令
版权所有,未经允许,请勿随意转载。

grep常用语法

在一个文件中搜索一个匹配字符串

1
2
3
4
5
6
7
8
grep word filename

grep 'word' filename

grep 'word' file1 file2 file3

# 使用-i强制忽略大小写
grep -i 'word' filename

在目录下的所有文件进行搜索

1
2
3
4
5
6
7
8
# 使用-r或-R参数
grep -r 'word' /dir/
grep -R 'word' /dir/

# 单单使用-r或-R展示搜索结果的时候,会显示对应的文件名
# 若想忽略文件名的显示,可使用-h
grep -h -R 'word' /dir/
grep -hR 'word' /dir/

强制只输出那些仅仅包含那个被搜索的单词的行

1
2
# 通过-w参数限制
grep -w 'word' filename

搜索两个及以上的关键字

1
2
3
4
5
# egrep,扩展的grep命令
egrep 'word1|word2' filename

# 强制只搜索包含被搜索的关键字
egrep -w 'word1|word2' filename

统计匹配的行数

1
2
# 使用-c进行统计
grep -c 'word' filename

显示匹配的行对应的行号

1
2
# 使用-n显示行号
grep -n 'word' filename

反转匹配(即不匹配)

1
2
# 使用-v来查找不匹配的行
grep -v 'word' filename

显示哪些文件包含匹配的关键字

1
2
3
4
5
# 使用-l显示对应的文件名
grep -l '404' *.log

access.log
error.log

结语

本教程到此结束,欢迎指正,互相交流。
版权所有,未经允许,请勿随意转载。