Grep
指定要搜索的单词
grep -w "word"
搜索以特定字符串开头的单词
grep '\<word'
搜索以特定字符串结尾的单词
grep 'word\>'
搜索以特定字符串开头的行
grep '^word'
搜索以特定字符串结尾的行
grep 'word$'
显示上下文
-
显示
n
行上文grep 'word' -B n
-
显示
n
行下文grep 'word' -A n
-
显示上文和下文各
n
行grep 'word' -C n
正则表达式
-e
选项: 将模式串作为正则表达式进行匹配。-G
选项: 模式串是基本正则表达式。-E
选项: 模式串是扩展正则表达式。
过滤模式串
grep -v 'word'
查找所有不符合条件的行。
POSIX字符集
grep '[[:space:]]'
显示出所有有空格的行。
其他POSIX字符集的用法同上例。
在一个目录下的所有文件中寻找一个字符串
举例:需要在code
目录下寻找main_func
符号,只需写成:
grep 'main_func' code/ -r
即可,为了增强搜索结果的可读性,可以写成这样:
grep --color -n 'main_func' code/ -r -C 2
其中,--color
表示彩色输出,-n
表示显示行号,即可以清楚地看见匹配的位置,-C 2
表示输出两行上下文,进一步增强搜索结果的可读性。