【发布时间】:2019-03-01 06:29:42
【问题描述】:
我正在尝试在 UNIX 中进行递归文本字符串搜索,并让结果显示文件中出现文本的文件名和行号。根据这里的一些其他答案,我有以下代码,但它只显示行号而不是文件名:
find /my/directory -type f -exec grep -ni "text to search" {} \;
让这个命令忽略除 .LOG 文件之外的所有内容也很棒。对于它的价值,我的系统不支持 grep -r 。谢谢!
【问题讨论】:
-
那是因为默认情况下 grep 不会为单个输入添加文件名。如果您的 find 版本支持,请尝试使用
+而不是\;。如果您的 find 版本支持,请使用-H和 grep你的 grep 版本支持它 -
man grep告诉你关于打印文件名的什么?