在 Linux 中为多个图像的名称添加单词
Adding word to names of multiple images in Linux
我在一个文件夹中有多个图像,我想在它们的所有名称中添加一个词。
假设我在文件夹中有 3 张图片
A.jpeg
B.jpeg
C.jpeg
所以我希望最终结果是
Afoo.jpeg
Bfoo.jpeg
Cfoo.jpeg
添加的文字必须相同,脚本不能改变图片格式。请询问您可能需要的任何详细信息。谢谢。
(图像名称作为代码,因为 Whosebug 编辑器虽然名称是代码)
编辑
所有名称都是这种格式。如果图像名称有多个单词,则它们不是由空格分隔,而是由“-”分隔,例如 41.blah-blah.jpeg
尝试:
for img in *.jpeg; do
mv -- "$img" "${img%.*}foo.jpeg"
done
尝试这样的事情:
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
可以使用rename
重命名多个文件:rename 's/.jpeg/foo.jpeg/' *.jpeg
我在一个文件夹中有多个图像,我想在它们的所有名称中添加一个词。 假设我在文件夹中有 3 张图片
A.jpeg
B.jpeg
C.jpeg
所以我希望最终结果是
Afoo.jpeg
Bfoo.jpeg
Cfoo.jpeg
添加的文字必须相同,脚本不能改变图片格式。请询问您可能需要的任何详细信息。谢谢。 (图像名称作为代码,因为 Whosebug 编辑器虽然名称是代码)
编辑
所有名称都是这种格式。如果图像名称有多个单词,则它们不是由空格分隔,而是由“-”分隔,例如 41.blah-blah.jpeg
尝试:
for img in *.jpeg; do
mv -- "$img" "${img%.*}foo.jpeg"
done
尝试这样的事情:
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
可以使用rename
重命名多个文件:rename 's/.jpeg/foo.jpeg/' *.jpeg