我有一个文件名为“ab c.jpg”、“def 0.jpg”、“gh i.jpg”的目录
我需要一个脚本让所有以“ 0.jpg”结尾的文件变成“ _0.jpg”
所以,在上面的例子中,第二个文件应该变成“de f_0.jpg”
我认为您的问题应该是您希望以“ 0.jpg”结尾的文件变为“_0.jpg”(注意第一个引号中的空格)。你的例子是有道理的。
for i in *\ 0.jpg ; do
mv -- "$i" "${i/ 0.jpg/_0.jpg}"
done
也就是说,对于每个匹配模式“* 0.jpg”的文件,将其重命名为“0.jpg”替换为“_0.jpg”
编辑:为了增加安全性,考虑使用-n
(no-clobber) 或-i
(interactive) 作为mv(1)
.
该rename
工具可能是您需要的。
ls -1 | grep .jpg | awk -F "." '{print $1 "_0." $2}'