我有两个文件夹。我想找出两个文件夹中的差异并删除差异。
使用:
diff -a folder 1 folder 2 | xargs rm -rf .
答案1
参见man diff
:逐行比较文件。
然后您应该输入以下句子来比较文件。
(cd /folder_1;find . > /tmp/folder_1.lst)
(cd /folder_2;find . > /tmp/folder_2.lst)
然后,diff
将告诉您如何从一个文件转到另一个文件。但结果将不会具有易于处理的良好形状(除 外patch
)。如果您只想要 folder_2.lst 中存在的文件,请键入comm -13 /tmp/folder_1.lst /tmp/folder_2.lst
。
您想在 folder_2 中隐藏它们吗?将结果传输至(cd /folder_2; xargs rm -rf
请注意,这rm
将抑制整个目录,然后警告您某些文件不存在(因为与目录一起被删除)。
xargs rm -rf .
将添加.
到要删除的事物列表中!!