grep -rnw . -e "string_to_search"
该命令接受上面提到的输入字符串,并列出当前目录(用点表示)中包含该字符串的所有文件。
该命令的问题在于它还列出了文件的内容,这对于我的目的来说是不必要的。
我只需要文件名。有办法实现这一点吗?
或者,是否有更有效的方法来优化此任务?
例如,如果我需要仅在七月的日志中搜索此文本,其中日志保存为 格式application.log_2023_07_*
,而今天的日志保存为application.log
.
有没有更好的方法来实现这一点?
答案1
grep
的-l
标志将输出限制为与模式匹配的文件名称。您也可以删除该-n
标志,因为它在这种情况下毫无用处:
grep -rlw . -e "string_to_search"
如果您只想在文件子集中搜索,请删除-r
并显式列出文件:
grep -lw -e "string_to_search" application.log_2023_07_*