我已经搜索和搜索,但没有找到这个问题的答案。
这是场景:我刚刚将我的整个 CD 收藏翻录到免费的无损音频编解码器 (FLAC) 以进行存档。我在这个档案中也有一些高质量的有损 .m4a 或 .mp3。这存储在 DIRECTORY01/artist - album/*.flac 结构中。此目录中的所有相关文件都是 .flac、.m4a 或 .mp3
然后我将整个目录转码为 ogg vorbis,用于实际的日常使用和我的便携式媒体播放器。这存储在 DIRECTORY02/artist - album/*.ogg 结构中。所有相关文件都是 .ogg。
现在我想验证一切都很好。我使用 diff 来比较文件夹的数量(并验证它们是否相同。然后我计算了每个文件夹中的 flac 和 ogg 文件的数量。
问题: .ogg 文件夹中有三个额外的 .ogg 文件,不知何故,某处。由于每个父目录包含 526 个子文件夹,我想知道如何自动识别仅在特定 .ogg 或 .flac/.m4a/.mp3 文件类型的文件数上不同的目录(忽略任何 .txt、.log、. nfo、.cue、.jpg 等)。
所以理想情况下,无论我运行什么命令,结果都将是一个忽略具有常见文件计数的常见子目录的报告,并帮助我明确识别具有不同“.ogg 或 .flac/.m4a/.mp3”文件的任何目录计数。
这可能吗?我也愿意接受其他建议/逻辑来验证所有 X 个 .flac/.m4a/.mp3 是否已成功转码为 .ogg。
由于您拥有
.ogg
超过.flac
,一个简单的方法是查找所有*.ogg
名称并检查哪些名称没有对应的.flac
名称。就像是:这与注释脚本相同:
使用带有 的
for
循环find
,这可能不是实现目标的最快方法,但应该可以正常工作:或者更易读
将输出类似于:
对于文件计数不匹配的每个目录。循环不会优雅地处理错误条件,例如“艺术家 - 专辑”目录出现在 DIRECTORY01 但不在 DIRECTORY02 中,或者“专辑 - 艺术家”目录的拼写差异。
您可以尝试使用
meld
. 描述是:Meld 是 GNOME 桌面的图形差异查看器和合并应用程序。它支持 2 和 3 文件差异、递归目录差异、版本控制下的目录差异(Bazaar、Codeville、CVS、Darcs、Fossil SCM、Git、Mercurial、Monotone、Subversion),以及手动和自动合并的能力文件差异。
1) 网站是:
http://meldmerge.org/
2)如果它在您的存储库列表中,您可以安装它:
3) 它也在 Ubuntu 软件应用程序中。