在此用例中如何使用 grep 和 cp 正确管道查找

ima*_*ive 3 linux find grep

我有兴趣递归地搜索目录中的字符串以获取模式,然后将匹配的文件 cp 到目标目录。我以为我可以执行以下操作,但是对于 linux 的查找工具似乎没有意义:

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

有没有更好的方法来解决这个问题?或者一种甚至有效的方式将是一个坚实的开始。

Sam*_*tch 12

man xargs和看-I国旗。

find . -type f -exec grep -ilR "MY PATTERN" {} \; | xargs -I % cp % /dest/dir/
Run Code Online (Sandbox Code Playgroud)

此外,find需要一个\;+-exec标志。