这是 Terdon 建议的一种将文件重命名为随机文件名的方法。这种方法的优点是它可以自动解决文件名冲突:
randomname() { base64 < /dev/urandom | tr -dC a-z0-9 | head -c4; }
for f in *.png; do
newName=$(randomname).png
while [ -e "$newName" ]; do
newName=$(randomname).png
done
mv -- "$f" "$newName"
done
这是另一种方法,使用zmv
.优点是可以用它批量重命名不同扩展名的文件:
zmv '*(.*)' '${(Lr:8:)$(uuidgen)}$1'
我想修改第二种方法,以便它能够像第一种方法一样自动解析文件名冲突,但我不明白如何实现。有人可以帮忙吗?