【发布时间】:2014-03-16 12:45:12
【问题描述】:
有没有办法在 find 的 -exec 中使用管道?我不希望 grep 遍历整个文件,而只遍历每个文件的第一行。
find /path/to/dir -type f -print -exec grep yourstring {} \;
我尝试用“cat”和“head -1”将管道放在那里,但效果不佳。我试图以某种方式使用括号,但我没有设法弄清楚如何将它们放在那里。 我会非常感谢你的帮助。我知道如何在不使用 find 的情况下以其他方式解决它,但是我们尝试在学校使用 find 和管道来完成它,但无法管理如何去做。
find /path/to/dir -type f -print -exec cat {} | head -1 | grep yourstring \;
这就是我们试图做到的方式,但无法管理括号,甚至可能。我试图通过网络查看,但找不到任何答案。
【问题讨论】:
-
我投票结束这个问题,因为它属于 unix.stackexchange.com 并且在unix.stackexchange.com/questions/42407/pipe-find-into-grep-v有答案
-
另一个答案(用于grepping)是serverfault.com/questions/9822/…