📅  最后修改于: 2023-12-03 15:32:40.910000             🧑  作者: Mango
在 Linux 中,bzgrep
是一个命令行工具,可以用于在压缩文件中搜索指定的文本。
bzgrep
的基本语法如下:
bzgrep [-|bcDEhlLnqStvwZ] [--line-buffered] [-e pattern] [--color[=when]] [--no-color] [--deadline=time] pattern file...
其中,参数的含义如下:
-
: 如果指定了该选项,则会从标准输入中读取文本进行搜索。-b
: 显示匹配行之前的字符偏移量。-c
: 显示匹配行的数量。-D
: 如果压缩文件损坏,则输出错误信息。-e pattern
: 指定要搜索的模式。-E
: 将模式视为扩展的正则表达式。-h
: 不显示搜索的文件名。-i
: 忽略搜索模式的大小写。-l
: 只显示包含匹配行的文件名。-L
: 只显示不包含匹配行的文件名。-n
: 显示匹配行的行号。-q
: 静默模式,不显示任何信息。-R
, --dereference-recursive
: 递归搜索符号链接所指向的文件。-S
: 显示匹配行之前和之后的指定字符数。-t
: 在搜索时不用更改时区。-v
: 只显示不匹配的文本。-w
: 仅搜索整个单词。-Z
: 压缩输出结果。搜索 example.log.bz2
压缩文件中包含“error”的行,以及行号和所在文件名:
bzgrep -n "error" example.log.bz2
递归搜索目录 /var/log
下的所有文件中包含“warning”的行:
bzgrep -R "warning" /var/log/
递归搜索目录 /var/log
下的所有文件中包含“error”的行,只显示匹配行的行号:
bzgrep -n -l "error" /var/log/*.log.bz2
搜索 example.log.bz2
压缩文件中包含“ERROR”的行,忽略搜索模式的大小写:
bzgrep -i "ERROR" example.log.bz2
搜索 example.log.bz2
压缩文件中包含“error”的行,显示匹配行之前和之后的 50 个字符:
bzgrep -S 50 "error" example.log.bz2
搜索 example.log.bz2
压缩文件中包含完整单词“error”的行:
bzgrep -w "error" example.log.bz2