Bash 如何使用shell脚本重命名多个文件?
我是shell脚本的初学者。我有4张图片:Bash 如何使用shell脚本重命名多个文件?,bash,shell,Bash,Shell,我是shell脚本的初学者。我有4张图片: 1.png, 2.png, 3.png, 4.png 如何将这些图像重命名为: img1.png, img2.png, img3.png, img4 将此用作脚本,并将文件名作为输入。这是未经测试,但应该给你一个线索 #! /bin/bash for file in "$@"; do mv "$file" "img${file}" done 使用基于perl的: 查看rename命令,您可以执行以下操作 rename s/^
1.png, 2.png, 3.png, 4.png
如何将这些图像重命名为:
img1.png, img2.png, img3.png, img4
将此用作脚本,并将文件名作为输入。这是未经测试,但应该给你一个线索
#! /bin/bash
for file in "$@"; do
mv "$file" "img${file}"
done
使用基于perl的:
查看rename命令,您可以执行以下操作
rename s/^/img/g *png
对于以png结尾的所有文件(*png
),这将用img
替换(s/
)文件名的开头(注为^
)
.如果你没有,你可以从这里得到命令
例如您是否尝试搜索
重命名文件bash
?很明显,您没有这样做,因为第一个结果告诉您如何做。@mklement0,谢谢您的提示。不客气;再想想,也许对*.png中的文件使用;do
是一种更直接的方式来演示这个本来不错的bash
解决方案。基于Perl的rename
实用程序是一个很好的技巧,但是您应该在下面链接到更健壮、更强大的版本。这里的g
选项是没有意义的,因为定义的^
每行只能匹配一次;另外,您希望*.png
避免误报。
rename s/^/img/g *png