Linux

在這個案例中,如何使用 grep 和 cp 正確地通過管道查找

  • September 13, 2013

我有興趣在目錄中遞歸地查找字元串以獲取模式,然後將匹配的文件cp’ing到目標目錄。我以為我可以做類似以下的事情,但是對於 linux 的 find 工具似乎沒有意義:

find . -type f -exec grep -ilR "MY PATTERN" | xargs cp /dest/dir

有沒有更好的方法來解決這個問題?或者一種甚至可行的方式將是一個堅實的開始。

man xargs,看看-I旗幟。

find . -type f -exec grep -ilR "MY PATTERN" {} \; | xargs -I % cp % /dest/dir/

此外,find需要一個\;+-exec標誌之後。

我認為你不需要找到。遞歸 grep:

grep -rl "MY PATTERN" .

引用自:https://serverfault.com/questions/538545