搜索具有特定歌曲长度的歌曲的 mp3 收藏

a c*_*der 5 find mp3

我将如何搜索特定长度之间的歌曲的 mp3 文件目录。前任:

findmp3 -min=03:00 -max=03:15 /music/mp3/ebm/
Run Code Online (Sandbox Code Playgroud)

将返回emb/目录中歌曲长度在 3:00 到 3:15 分钟之间的所有 mp3 文件。

我使用 Linux Mint、Ubuntu 和 CentOS。

ter*_*don 4

首先安装mp3info,它应该在你的发行版的存储库中(你没有说,所以我假设你正在使用某种Linux)。如果您有基于 Debian 的发行版,您可以使用

sudo apt-get install mp3info
Run Code Online (Sandbox Code Playgroud)

mp3info安装后,您可以music使用以下命令在目录中搜索特定长度的歌曲:

sudo apt-get install mp3info
Run Code Online (Sandbox Code Playgroud)

上面的命令将搜索music/mp3 文件,如果长度大于或等于 180 秒 (3:00) 且小于或等于 195 秒 (3:15),则打印其名称和长度。man mp3info有关其输出格式的更多详细信息,请参阅参考资料。

如果您希望能够以 MM:SS 格式输入时间,则情况会变得更加复杂:

find music/ -name "*mp3" | 
  while IFS= read -r f; do 
   length=$(mp3info -p "%S" "$f"); 
   if [[ "$length" -ge "180" && "$length" -le "195" ]]; then 
     echo "$f"; 
   fi;  
done
Run Code Online (Sandbox Code Playgroud)

将上面的脚本保存为并按findmp3如下方式运行:

findmp3 3:00 3:15 music/
Run Code Online (Sandbox Code Playgroud)