0

我想提出一个 bash 脚本,它会在所有文件的末尾添加一个随机的字母数字字符串。我希望字符串的长度为 10。

所以如果我有文件名:hello.jpg 它会变成:hello_v41e6ebadx_.jpg

有没有人对如何做到这一点有任何想法?

4

1 回答 1

3
for file in *.*
do
    name=${file%.*}
    ext=${file##*.}
    random=$(LC_CTYPE=C tr -cd 'a-zA-Z0-9' < /dev/urandom | head -c 10)
    mv "$file" "${name}_${random}_.${ext}"
done

您还可以考虑mktemp,如果您的文件扩展名中没有“X”可能会出错。

于 2013-01-31T19:09:51.423 回答