理解{} / dev / null \;使用find和-exec时

时间:2016-09-17 18:33:57

标签: bash unix grep find exec

我想了解这一行:

find $HOME -name "*.c" -exec grep "find this string" {} /dev/null \;

我理解其中的大部分内容,但我不确定/dev/null之后和{}之前显示的;

find找到每个C程序文件,然后对于每个文件,grep查找包含该字符串的行...然后将所有错误发送到/dev/null

1 个答案:

答案 0 :(得分:6)

它曾用于强制grep打印匹配的文件名,仅在没有特定选项的greps中有用。看:

$ cat file
1
2
3

$ grep 2 file
2

$ grep 2 file /dev/null
file:2

过去需要获得输出但是使用GNU grep(以及其他?)这些天你可以这样做:

$ grep -H 2 file
file:2

您可能需要检查教科书上的销售日期; - )。