我使用mp3splt从mp3混音中分离了一些曲目。
BASH:(mp3splt -c('**!!***use .cue file***!!**') [cuefile.cue] [nonstopmix.mp3] ~for anyone interested, is in the Ubu repos~)
我最终得到了这些文件名:“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谜题,因为我需要一个循环来增加这个数字并测试它是否存在于filename变量中然后它将被更改。帮助我获得一些命令 - 绝地技能PLZ !!
答案 0 :(得分:0)
尝试这样做:
rename -n 's/"(\w+)"\s+-\s*(\d+)\s*-\s*"(\w+)"\.mp/$2-$1_-_$3.mp3/' *mp
来自shell
提示符的。它非常有用,你可以像我一样用一些perl技巧来代替。
当您的测试成为值时,您可以删除-n
(干运行模式开关)。
warning http://pix.toile-libre.org/upload/original/1377510865.png 还有其他同名工具可能会或可能不会这样做,所以要小心。
如果您运行以下命令(linux
)
$ file $(readlink -f $(type -p rename))
你有一个像
的结果.../rename: Perl script, ASCII text executable
然后这似乎是正确的工具=)
如果没有,请将其设为Debian
上的默认值(通常已经是这种情况)和Ubuntu
之类的衍生物:
$ sudo update-alternatives --set rename /path/to/rename
最后但并非最不重要的是,这个工具最初是由Perl的父亲Larry Wall编写的。
答案 1 :(得分:0)
在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,然后拆分字符串,创建一个列表(数组),然后根据需要打印元素。