UNIX 命令比较两个文件夹并删除差异

UNIX 命令比较两个文件夹并删除差异

我有两个文件夹。我想找出两个文件夹中的差异并删除差异。

使用:

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 .将添加.到要删除的事物列表中!!

相关内容