我正在合并两个电影库,并希望通过 bash 脚本手动“删除重复”。
到目前为止,这是我的思考过程:
- 查找所有具有相同名称的文件,无论扩展名如何
- 删除较小的文件(我有几天的存储空间!并且更喜欢质量!)
我可以以此为基础,所以如果我能以某种方式将删除部分分开,我可以在此基础上进行构建。虽然我可以使用 ffmpeg 来检查视频并选择更好的视频,但我猜测更大的尺寸 = 最佳选择并且更易于编码。
我发布了 Software Rec但没有得到我想要的,所以我意识到 bash 是我最好的选择,但是我的“查找”知识是有限的,而且我找到的大多数答案都很复杂,我认为这应该是一个简单的事物。
这是我写的一个很好的方法,只是找到忽略扩展名的重复文件:
然后我将它包装在这个循环中,为每个文件找到两个文件中较小的一个:
最后再循环一次(以交互方式,
rm -i
因此在每个循环之前都有一个提示)删除所有这些文件:由于这涉及在您的目录上执行两个
find
s,因此肯定有更好的方法。但这应该适用于简单的情况。它还假设您正在从当前目录工作,如果您想在另一个目录上执行命令,只需将.
参数更改为两个find
命令。由于需要排除 .srt 文件的问题,我最终是如何做到的。
查找名称相同但扩展名不同的文件:
注意:这取决于扩展名是 4 个字符,例如
.XYZ
,它不适用于 mpeg,但我所有的电影都是 mp4/mkv/m4v。忽略 .srt 文件:
我发布了一个单独的线程来比较文件大小,但 Harrys Answer 做得很好,只是我意识到我有 .srt 问题需要缓解。
比较两个文件大小并删除较小的文件