grep命令

483 阅读1分钟

grep

grep(Global Regular Expression Print)是一种强大的文本搜索工具,它使用正则表达式搜索文本,并把匹配的行打印出来。

[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。

实例

  1. 在当前目录中,查找后缀有.sh的文件中包含 test 字符串的文件,并打印出该字符串的行

    grep test *.sh 
    
  2. 以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容

    grep -r update /etc/acpi 
    
  3. 反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。查找文件名中包含 test 的文件中不包含test 的行

    grep -v test *test*