11.6. 在文件中查找文本

grep

在文件中查找文本。例如

grep this_word this_file.txt 

选项示例

  • -v --- 此选项用于显示不包含该字符串的行。

  • -n --- 此选项显示行号

  • -w --- 此选项使 grep 匹配整个单词

  • -A x -B x (其中 x 是一个数字) --- 在找到特定单词的部分之后或之前显示 “x” 行。

  • -rrgrep --- 递归地在文件中搜索文本。

此命令使用正则表达式,有关更多信息,请参阅 第 20.4.2 节

例如,此命令将在文件 “rpmlist.txt” 中查找以 “rpm” 开头的任何内容

grep rpm rpmlist.txt

或者你可以像这样使用它,以搜索另一个文件的输出

rpm -qa | grep ogg

第一个命令列出系统上安装的所有 RPM,第二个命令查找任何包含字符串 “ogg” 的 RPM 并输出它们。

rgrep

grep 的“递归”版本(这是一个不同于 grep 的程序)。这将搜索当前目录及其所有子目录中的所有文件,并打印文件名和匹配的行。遵循与 grep 类似的语法(见上文)。你也可以使用带有 -r 选项的 grep 来达到相同的效果。

fgrep

这个版本的 grep 使用 -F 选项调用 grep。这将仅查找文字字符串,它不会使用或扩展任何类型的正则表达式。

例如,你可以输入

fgrep 'a$*b?' file.txt

然后 fgrep 将在文件 “file.txt” 中查找字符串 “a$*b?”。

Tip其他版本
 

grep 有各种版本,它们被设计用于做不同的事情,尝试在互联网上或你的发行版中搜索它们。