我想自动将MP3集合标记为自定义名称VA Albums。 目前,我使用了像这样的非常安全的命令:
find . -name "*.mp3" -exec eyeD3 -A "Indie 2015" -b "Various Artists" {} \;
现在,我想在文件中添加一个运行轨道号。最简单的方法是find -exec命令中的当前匹配/行号 - 是否有这样的命令?
eyeD3使用-n NUM, - track NUM设置曲目编号,因此我搜索
之类的内容find . -name "*.mp3" -exec eyeD3 -A "Indie 2015" -b "Various Artists" -n **FIND_MATCH_NUMBER** {} \;
答案 0 :(得分:1)
一个选项,使用globstar
(假设您在嵌套子目录中有文件,这就是您首先使用find
的原因):
shopt -s globstar
n=1
for file in **/*.mp3; do
eyeD3 -A "Indie 2015" -b "Various Artists" -n "$((n++))" "$file"
done
启用globstar
后,**/*.mp3
glob会扩展到当前目录以及子目录中以.mp3
结尾的所有文件。 $((n++))
计算计数器$n
的当前值,然后递增它。
答案 1 :(得分:0)
不知道find是否有内部变量可以在awk中告诉像NR这样的记录号。你可以在程序中使用这样的东西
[[ -f file ]] && read i < file
[[ -z $i ]] && let i++
echo $i
let i++
echo $i > file
我们为您计算的每个文件都可以使用。文件可以是任何临时文件。