Bash one liner用于按比特率对音乐库进行排序
我正试图编写一个bash命令来显示按比特率排序的音乐库。该命令必须是递归的,因为我有像这样组织的文件:music/artist/album/song.mp3 这将显示所有具有比特率信息但不进行排序的MP3:Bash one liner用于按比特率对音乐库进行排序,bash,sorting,mp3,bitrate,Bash,Sorting,Mp3,Bitrate,我正试图编写一个bash命令来显示按比特率排序的音乐库。该命令必须是递归的,因为我有像这样组织的文件:music/artist/album/song.mp3 这将显示所有具有比特率信息但不进行排序的MP3: find-键入f-名称'*.mp3'-exec文件{}\ 如果在file命令的输出中使用逗号作为分隔符,则比特率介于第五个和第六个逗号之间,因此我尝试对命令进行如下排序: find-键入f-名称'*.mp3'-exec文件{}\|排序-n-t,+5-6 但它不起作用。小费 编辑: 该find
find-键入f-名称'*.mp3'-exec文件{}\代码>
如果在file命令的输出中使用逗号作为分隔符,则比特率介于第五个和第六个逗号之间,因此我尝试对命令进行如下排序:
find-键入f-名称'*.mp3'-exec文件{}\|排序-n-t,+5-6
但它不起作用。小费
编辑:
该find命令的输出类似于:
./Stemage/Metroid Metal(原件)/supermetroid_brinstar.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
./Stemage/Metroid Metal(原件)/Metroid_kraid.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
./Stemage/Metroid Metal(原件)/Metroid_itemcollect.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
./Stemage/Metroid Metal(原件)/Metroid_tourianbrain.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
./Stemage/Metroid Metal(原件)/Metroid_ending.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
./Stemage/Metroid Metal(原件)/Metroid_metaltheme.mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,192 kbps,44.1 kHz,JntStereo
试试这个:
find-键入f-名称'*.mp3'-exec文件{}\|排序-t,-nk6
不查找-键入f-名称'*.mp3'-exec文件{}\|sort-n-t,-k6,6
work?它生成了一个文件列表,但似乎没有按比特率排序。除非您共享由find生成的几行输出-键入f-名称'*.mp3'-exec文件{}\代码>很难帮助。哦,对不起。该find命令的输出类似于:/Bolt-Thrower/1988-在战斗中没有法律/01-在战斗中没有法律。mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,320 kbps,44.1 kHz,立体声
它确实输出了一个文件列表,但是它们不是按比特率排序的。@Goodhank发布了一些来自find
命令的示例输出,以便我们进行调试。我的find命令的输出:/Bolt-Thrower/1988-在战斗中没有法律/01-在战斗中没有法律。mp3:ID3版本2.3.0的音频文件,包含:MPEG ADT,第三层,v1,320 kbps,44.1 kHz,立体声
@Goodhank所以你想在kbps
部分或kHz
部分进行排序?@Goodhank将命令更改为sort-t,-nk5
an,你应该都设置好了。