Bash:在文件末尾添加一个随机的字母数字字符串

时间:2013-01-31 18:58:41

标签: bash unix

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

所以,如果我有文件名:hello.jpg 它将成为:hello_v41e6ebadx_.jpg

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

1 个答案:

答案 0 :(得分: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

如果您的文件扩展名中没有“X”可能会将其绊倒,您也可以考虑mktemp