Linux中grep详细使用

igxiaoshan Lv5

grep使用解析

grep是一个强大的文本搜索工具,用于搜索匹配特定模式的行。

基本参数

  • -a或者--taxt: 将二进制文件视为文本文件处理
  • -b或者--byte-offset: 输出匹配行前,加上改行在文件内的字节偏移
  • -c或者--count: 只输出匹配行的数量,而不显示匹配的内容
  • -E或者--extended-regexp: 使用扩展正则表达式
  • -F或者--fixd-strings: 将模式视为固定字符串,而不是正则表达式
  • -G或者--basic-regexp: 使用基本正则表达式.这是默认模式
  • -H或者--with-filename: 当搜索多个文件时,输出匹配的文件名
  • -h或者--no-filename: 当搜索多个文件时,不输出匹配的文件名
  • -i或者--ignore-case: 忽略大小写
  • -I或者--files-with-matches: 只输出包含匹配内容的文件名
  • -L或者--files-without-match: 输出不含包匹配内容的文件名
  • -m NUM或者--max-count=NUM: 只输出前NUM个匹配行
  • -n或者--line-number: 输出匹配行前,加上行号
  • -o或者--only-matching: 只输出匹配的部分,而不是整行
  • -p或者--perl-regexp: 使用Pel兼容的正则表达式
  • -q或者--quite或者--silent: 不输出任何内容,只返回状态码
  • -r或者-R或者--recursive: 递归搜索子目录
  • -s或者--no-message: 不显示错误信息
  • -v或者--invert-match: 输出不匹配模式的行
  • -w或者--word-regexp: 只匹配整个单词
  • -x或者--line-regexp: 只匹配整行
  • -y或者--skip-binary: 跳过二进制文件

上下文参数

  • -A NUM: 输出匹配行后的 NUM 行
  • -B NUM: 输出匹配行前的 NUM 行
  • -C NUM或者--context=NUM: 输出匹配行前后的 NUM 行

输出控制参数

  • --color[=WHEN]: 高亮显示匹配内容.WHEN 可以是’never’,’always’或者’auto’
  • --colour[=WHEN]: 同上,只是拼写不同
  • --label: 为匹配的文件名添加前缀
  • --line-buffered: 使用行缓冲
  • --null: 在文件名之间使用 NULL 字符,而不是换行符
  • --quite或者-q: 只返回状态码
  • --verbose: 显示详细信息

其它参数

  • --help: 显示帮助信息
  • --version: 显示版本信息

这些参数可以单独使用,也可以组合使用,以满足不同的搜索需求。例如,使用 -i-v 可以忽略大小写并输出不匹配的行。使用 -r-l 可以递归搜索子目录并只输出包含匹配内容的文件名。

使用 grep 时,可以通过 man grepgrep --help 命令查看完整的参数列表和详细信息。

常用参数

  • -n或者--line-number: 输出匹配行前,加上行号

  • -A NUM: 输出匹配行后的 NUM 行

  • -B NUM: 输出匹配行前的 NUM 行

  • -C NUM或者--context=NUM: 输出匹配行前后的 NUM 行

总结

功能太过强大,更加高级用法自己摸索…