查找重复的文件并将其替换为符号链接
我试图找到一种方法来检查给定目录中是否存在重复文件(甚至具有不同名称),并用指向首次出现的符号链接替换它们。我试过了,fdupes但只列出了那些重复项。 这就是上下文:我正在根据自己的喜好自定义图标主题,我发现很多图标,即使它们在父文件夹中具有不同的名称和位置,并且用于不同的用途,基本上也一样图片。由于在只需要一个修改的情况下进行二十或三十次相同的修改是多余的,因此我只想保留一个图像并符号链接所有其他图像。 例如,如果我fdupes -r ./在目录中运行testdir,它可能会返回以下结果: ./file1.png ./file2.png ./subdir1/anotherfile.png ./subdir1/subdir2/yetanotherfile.png 给定此输出,我想保留文件file1.png,删除所有其他文件,并用指向它的符号链接替换它们,同时保留所有原始文件名。因此file2.png将保留其名称,但将成为其链接file1.png而不是重复。 这些链接不应指向绝对路径,而应相对于父testdir目录。即yetanotherfile.png会点../../file1.png,不/home/testuser/.icons/testdir/file1.png 我对涉及GUI和CLI的解决方案都感兴趣。fdupes我引用了它不是强制性的,因为它是我所知道的工具,但是我也欢迎使用其他工具的解决方案。 我很确定创建一个处理所有这些内容的bash脚本应该不会那么困难,但是我不够熟练,无法找出如何自己编写它。