1

有没有办法将捕获的文件复制grep到新目录中?

我正在使用以下命令来比较 2 个目录

diff -q folder1 folder2 | grep 'string'

我想将包含此“字符串”的文件移动到新目录中。

非常感谢,

4

3 回答 3

3

男人 xargs。

ls *.txt | xargs -I {} cp {} ../{} 

如果我没记错语法

所以假设你的 diff+grep 产生路径

diff -q folder1 folder2 | grep "Only in blaa" | cut -d " " -f 4- | xargs -I {} cp {} ../{}
于 2013-05-29T14:14:21.960 回答
2

使用 awk 是可能的:

ls | grep string | awk '{print "cp", $1, "newDirectory/"}' | sh

正如Tripleee所说的那样

ls | awk '/string/ {print "cp", $1, "newDirectory/"}' | sh

编辑:应该以diff -q命令为例:

diff -q folder1 folder2 | awk '/string/ {gsub(":",""); print "cp", $3 "/" $4, "newFolder/"}' | sh
于 2013-05-29T14:23:48.607 回答
0

试试这个

设置 -- $(diff $PWD/folder1 $PWD/folder2 | grep afile | tr ':' '/')

cp $3$4 新目录

于 2013-05-29T18:46:10.037 回答