批量重命名图像序列

时间:2014-08-06 02:23:04

标签: linux file-io terminal

我有一个需要重命名的图像序列列表,它基本上是在序列的最后一个下加一个下划线。

实施例。 sun_seq_img_001.jpg>>> sun_seq_img__001.jpg

然而,当我尝试以下命令rename "_" "__"" *时,它正在替换第一个下划线sun__img_...,这不是我想要的

我可以尝试使用mv sun_seq_img_001.jpg sun_seq_img__001.jpg,但这很麻烦,特别是我正在处理大型序列

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果您的文件名与您描述的一样,那么您应该可以这样做:

rename img_ img__ *

否则,您可以使用bash这样的脚本:

for i in *.jpg ; do mv "$i" "${i%_*}__${i##*_}" ; done

${i%_*}剥去最后_及之后的内容 ${i##*_}删除了最后_及其前面的内容。