2010-03-25 140 views

回答

1

您需要使用xargs的:

find . -name script.sh | xargs grep watermelon 

xargs的將修改的行爲對文件進行搜索,而不是在短短搜索文件的名稱。

2

find返回默認情況下找到的文件名。如果你想讓它在文件中進行搜索,那麼你需要管它xargs或使用-exec-print謂詞:

find . -name script.sh -exec grep -q watermelon {} \; -print 
1

使用-type f指示文件

find . -type f -name "script.sh" -exec grep "watermelon" "{}" +; 

,或者如果你有bash的4

shopt -s globstar 
grep -Rl "watermelon" **/script.sh 
相關問題