grep主要用于模式匹配,搜索匹配的文本。

1. 基本使用

选项

选项 说明
-i 忽略字符大小写
-v 除去匹配的字符串行
-l 查找匹配的字符串在哪个文件中
-L
-c 统计匹配到的字符串的行数
—color 匹配到的字符串飘红,默认—color=auto
-E 用正则表达式匹配
-o 只输出匹配到的字符串,默认是输出匹配的字符串所在的行
-n 输出匹配到的字符串所在行,包括匹配的行号
-rn 递归查找匹配的字符串,-r表示递归,-n表示行号
—include 在搜索结果中,包括或排除指定文件
—exclude
—exclude-from




示例

  1. grep -i
  2. grep -v
  3. grep "test" test.log # 在当前目录下,搜索test.log文件中有“test”字符串的行
  4. grep "test" test01.txt text02.txt test03.txt # 在当前目录下,在文件test01.txt,test02.txt,test03.txt中搜索包含"test"字符串的行
  5. grep "test" * # 搜索当前目录下,所有文件中包含"test"字符串的行
  6. grep -v "test" test.log # 在当前目录下,搜索test.log文件中不包含test字符串的行
  7. grep -rn "test" * # 在当前目录及其子目录下,查找所有包含“test”字符串的行及行号
  8. grep "test" . -r --include *.{php, html} # 在当前目录中,所有以php和html结尾的文件中,递归查找包含“test”字符串的行
  9. grep "test" . -r --exclude "README" # 在当前目录中,除README文件外,递归查找所有包含“test”字符串的行
  10. grep "test" . -r --exclude-from filelist # 在当前目录中,除filelist文件列表中的文件外,递归查找所有包含“test”字符串的行