要计算匹配项,只列出文件名和计数:
grep -src HOST /etc/*
Run Code Online (Sandbox Code Playgroud)
示例输出:
/etc/postfix/postfix-files:1
/etc/security/pam_env.conf:6
/etc/X11/app-defaults/Ddd.3.3.11:1
/etc/X11/app-defaults/Ddd:1
/etc/zsh/zshrc:0
/etc/zsh/zshenv:0
Run Code Online (Sandbox Code Playgroud)
该-c
选项禁止正常输出并打印每个文件的匹配计数。
如果您想抑制零计数的文件:
grep -src HOST /etc/* | grep -v ':0$'
Run Code Online (Sandbox Code Playgroud)
要为任意数量的输入文件的每个匹配行打印行号 ( -n
) 和文件名 ( -H
):
grep -srnH HOST /etc/*
Run Code Online (Sandbox Code Playgroud)
示例输出:
/etc/lynx-cur/lynx.cfg:254:.h2 LYNX_HOST_NAME
/etc/lynx-cur/lynx.cfg:255:# If LYNX_HOST_NAME is defined here or in userdefs.h, it will be
/etc/X11/app-defaults/Ddd.3.3.11:8005: DDD 3.3.11 (@THEHOST@) gets @CAUSE@\n\
/etc/X11/app-defaults/Ddd:8010: DDD 3.3.12 (@THEHOST@) gets @CAUSE@\n\
Run Code Online (Sandbox Code Playgroud)
该选项-r
导致grep
递归搜索指定目录下所有级别的每个子目录中的文件。该-s
选项抑制错误消息。
要抑制二进制文件的匹配,请使用该-I
选项。
有关man grep
更多信息,请参阅。