我想随机重命名 USB 设备上的所有文件。确实,在我的车里,我的调谐器没有随机功能。
我想我可以用 PHP 做到这一点...但我很确定可以在 shell 脚本中做一些更短的事情,对吧?
一个主意?
答案1
您可以添加一个等宽的随机数作为前缀,这就是我正在做的随机化音频文件的方法:
for i in *; do mv "$i" "$(seq -w 0 999 | shuf -n 1)_$i"; done
答案2
假设您运行的是 Linux,您希望对当前目录中的所有文件进行随机排序,并且文件名不包含换行符:
printf '%s\n' * | shuf | nl -n rz -s - |
while IFS= read -r name; do
mv -- "${name#*-}" "$name"
done
该printf
命令打印文件名,每行一个。shuf
对输入行应用随机排列。向每行添加 、 等前缀nl
。该循环遍历所有行。该命令重命名为等。000001-
000002-
while
mv
foo.mp3
000001-foo.mp3