我使用 mp3splt 从 mp3 混音中分离了一些轨道。
BASH: (mp3splt -c('**!!***use .cue file***!!**') [cuefile.cue] [nonstopmix.mp3] ~对于任何感兴趣的人来说,是在 Ubu 仓库中~)
最后我得到了这些文件名:“Antares” - 01 - “Xibalba”.mp3 这不是我喜欢的格式,现在我做了一个小项目来用 shell 脚本更改它们,但它更难超出我的预期。
我想更改文件名:
"Antares" - 01 - "Xibalba".mp
到:
01-Antares_-_Xibalba.mp3
到目前为止我用过:
for var in *.mp3; do mv $var {var/"/}; done
我可以重复直到我完成,删除 0x 数字并添加一个,但我想这样做更有效率。
谁能给我一个指针(!不是脚本!)? 我还是想自己写,但是选项太多,我有点不知所措。
到目前为止我想使用这个程序流程:
读取所有包含.mp3的文件名并声明为变量$var
从引号中去除 $var
选择0x数字,附加分隔符_(0x_)
将0x_移动到字符串的开头
选择剩余的'- -'并更改为'-'
完成
使用哪些 bash 程序?尤其是更改 0x 让我感到困惑,因为我需要一个循环来递增此数字并测试它是否存在于文件名变量中,然后必须更改它。
最佳答案
在 python 2.x 中很容易做到。您可以使用您想要的任何语言使用此逻辑。
import string
a=raw_input('Enter the name of song')
a=a.replace('"', "")
a=a.replace('.mp', ' .mp3')
words = a.split()
print words[2]+'-'+words[0]+'_-_'+words[4]+words[5]
逻辑:
我删除了 ",然后将 .mp 转换为 .mp3,然后拆分字符串,创建一个列表(数组),然后根据需要打印元素。
关于linux - 更改多个文件命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19067201/