我有一辆车,我的音频帖子只读特定订单的音乐。
我有一个很大的音乐列表,我想改变001 | justanexemple.mp3上的每一个justanexemple.mp3和“002 | i love stackoverflow”中的下一个“我喜欢stackoverflow.mp3”
另外,我们得到一个限制是当我在009 | music.mp3时,我想要下一个这样的010 | music.mp3
我也遇到问题是我有一些像这样的空间音乐“我喜欢turtles.mp3” 所以命令mv不起作用......
所以我编写了类似这样的内容
#!/bin/sh
counter=001
for file in `ls -1 *.mp3 | sort -t. -k 2n`
do
newname=$counter'|'.$file
if [ $file != $newname ]
then mv $file $newname
fi
counter=`expr $counter + 1`
counter="00${counter}"
echo $counter done
但效果不佳...
我的音乐列表是这样的:
> Kario & Yaret - Somos Lokos (Prod. By Las Ovejas Negras & Gaby.mp3
> Dj_Foxx-T_-_An_Sé_an_Nonm_(feat._Pompis)_-_.mp3
> Harry_Toddler_-_Draw_Mi_Table_wegotitfirst_com.mp3 Kario & Yaret Ft.mp3
> Mc Cassidy Ft. Polakan Y Delirious - Bad Boy.mp3
...
答案 0 :(得分:2)
ls
printf
您的脚本可以写成:
c=0
for i in *.mp3; do
c=$((c+1))
pref=$(printf "%03d" $c)
echo "$i" "${pref}|$i"
done
如果输出似乎正常,请将echo
替换为mv
以执行实际重命名。