在Linux中为多个图像的名称添加单词

时间:2018-11-05 18:43:13

标签: bash shell ubuntu-16.04

我在一个文件夹中有多个图像,并想在所有图像中添加一个词。 假设文件夹中有3张图片

A.jpeg
B.jpeg
C.jpeg

所以我希望最终结果是

Afoo.jpeg
Bfoo.jpeg
Cfoo.jpeg

要添加的单词必须相同,并且脚本不得更改图像的格式。请询问您可能需要的任何详细信息。谢谢。 (图像名称为代码,因为堆栈溢出编辑器虽然是名称,但还是名称)

编辑

所有名称都采用这种格式。如果图像名称包含多个单词,则它们不会以空格分隔,而是以“-”分隔,例如41. blah-blah.jpeg

3 个答案:

答案 0 :(得分:2)

尝试:

for img in *.jpeg; do
  mv -- "$img" "${img%.*}foo.jpeg"
done

答案 1 :(得分:1)

可以使用rename重命名多个文件:rename 's/.jpeg/foo.jpeg/' *.jpeg

答案 2 :(得分:0)

尝试这样的事情:

for filename in *.jpg; do
   firstpart=$(echo $filename|cut -d"." -f1)
   lastpart= $(echo $filename|cut -d"." -f2)
   newfilename=$(echo "${firstpart}foo.${lastpart})
   echo "Renaming $filename to $newfilename.."
   mv -- "$filename" "$newfilename"
done