指定要搜索的单词

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表示输出两行上下文,进一步增强搜索结果的可读性。