【问题标题】:Check if a audio file is a valid as MP3 in shell检查音频文件是否在 shell 中作为 MP3 有效
【发布时间】:2015-07-04 03:19:02
【问题描述】:

我正在编写一个 Bash Shell 脚本,该脚本需要确定提供的 MP3 音频文件是有效还是无效。我将如何在 Bash 中完成此任务?

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

【问题讨论】:

  • 您实际上需要检查 mime 类型。
  • 感谢@AvinashRaj file --mime-type file.mp3 已解决。

标签: bash shell


【解决方案1】:

这取决于你想变得多么确定。

只需检查扩展名:您可以在 Bash 中轻松check just the extension 提供的文件:

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

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

检查文件头: 稍微放心一点,这将检查实际文件数据的一小部分。您可以通过 checking the Mime-Type of the file 使用 Bash 中的 file 函数来执行此操作。这会给你,嗯,Mime-Type。

但是,这些可以被欺骗,您无法确定文件中的实际数据是否有效。为此,您需要对二进制数据进行深入检查,并且很可能实际上对其进行解码。这不是您可以在简单的 Bash 脚本中完成的事情。

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

【讨论】:

  • 也许我记错了,但扩展程序不会像在 Windows 中那样生成文件类型。
猜你喜欢
  • 1970-01-01
  • 2012-10-23
  • 2015-07-31
  • 2013-04-08
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 2012-07-06
相关资源
最近更新 更多