有沒有什麼方法可以在find中的-exec中使用管道?我不希望grep通過整個文件,但只能通過每個文件的第一行。如何在find中使用-exec中的管道
find /path/to/dir -type f -print -exec grep yourstring {} \;
我試圖用「cat」和「head -1」放置管道,但是它不能很好地工作。我嘗試着用括號,但我沒有設法弄清楚到底如何把它放在那裏。 我會非常感謝您的幫助。我知道如何通過其他方式解決問題,而無需使用查找,但我們試圖在學校中使用查找和管道來完成此任務,但無法管理如何操作。
find /path/to/dir -type f -print -exec cat {} | head -1 | grep yourstring \;
這是某種程度上我們試圖做到這一點,但不能管理括號,甚至有可能。我試圖通過網絡看,但無法找到任何答案。
我投票關閉這一問題作爲題外話,因爲這是屬於unix.stackexchange.com並有一個答案了,是https://unix.stackexchange .com/questions/42407/pipe-find-into-grep -v – koppor
另一個答案(對於grepping)是有的http://serverfault.com/questions/9822/recursive-text-search-with-grep-and-file -patterns – koppor