我正在尝试编写一个脚本来自动将曲目和标题信息添加到 mp3 文件的 id3 标签。
在这一点上,我已经 sed 从文件名中获取信息并将其格式化以适合 id3v2 命令,但是在点击多字标题时,我收到错误Couldn't stat file '<second word of title>'
. 如果我只是回显正在运行的 id3v2 命令,我会看到以下格式的命令:
id3v2 -t Title\ Of\ Track -T 1 1_-_Title_Of_Track.mp3
Run Code Online (Sandbox Code Playgroud)
将该文本复制/粘贴到终端中可以正确执行标记,但当然缺乏预期的脚本自动化。所以这里是打算自动化这个过程的脚本的样子:
#!/bin/bash
for track in *.mp3 ; do
id3v2 $(echo ${track} | sed -e 's/^\([1-9][0-9]*\)_-_\(.*\).mp3/-t \2 -T \1/' -e 's/_/\\ /g') ${track}
done
Run Code Online (Sandbox Code Playgroud)
关于为什么在手动键入时将标题视为单个参数而不是在编写脚本时将其视为单个参数的任何见解?