检查音频文件是否有效,如shell中的MP3

时间:2015-04-25 13:25:48

标签: bash shell

我正在编写一个Bash Shell脚本,需要确定提供的MP3音频文件是有效还是无效。我将如何在Bash中实现这一目标?

例如假冒:> file.mp3mv file.txt file.mp3

1 个答案:

答案 0 :(得分:5)

这取决于你想要的确定程度。

只需查看扩展程序:您可以轻松{B}中提供的文件check just the extension

if [ ${file: -4} == ".mp3" ]

基本上取字符串file的最后四个字符并断言它等于.mp3

检查文件标题: 稍微更有把握,这将检查实际文件数据的一小部分。您可以使用Bash中的file函数checking the Mime-Type of the file执行此操作。这将为你提供Mime-Type。

但是,这些可能是欺骗性的,您无法确定文件中的实际数据是否有效。要做到这一点,您需要深入检查二进制数据,并且可能实际解码它。这不是你可以用简单的Bash脚本做的事情。

自行检查文件数据: 您可以在命令行中使用FFMpeg和FFProbe来测试文件内容。我认为最好的选择是FFProbe,因为它会为您提供大量有关该文件的数据。如果您仍有疑问,请尝试将您的脚本添加到您的问题中,以获得更多帮助。