Den*_*nis 4 bash filename batch-rename
我有许多不同名称、不同长度的文件。这些文件的扩展名是 jpeg。
如何将文件的名称更改为随机生成的名称?
在包含文件的目录中运行:
for file in *.jpeg; do
mv -- "$file" "$RANDOM.jpeg"
done
Run Code Online (Sandbox Code Playgroud)
但是随机名称有可能会发生冲突,因为$RANDOM只给出 0 到 32767 之间的数字。
更好的解决方案,感谢pbhj:
for file in *.jpeg; do
mv -- "$file" "$(mktemp --dry-run XXXXXXXX.jpeg)"
done
Run Code Online (Sandbox Code Playgroud)
随机名称仍然有可能发生冲突,但它有 8 个字母数字字符,从mktemp. 请参阅Anselmo 的回答以确保没有冲突。