Shell脚本使用for循环更改文件名

时间:2013-12-16 08:26:06

标签: linux shell

我想以这样的方式更改文件夹中的文件名:

previous form             new form
one-1      to           VAS-M0001-001
one-2      to           VAS-M0001-002
one-3      to           VAS-M0001-003
one-4      to           VAS-M0001-004

任何人都可以建议我这样做的好方法吗?

2 个答案:

答案 0 :(得分:2)

我只想使用一个简单的循环:

for f in one-*; do mv one-$f VAS-M001-000$f; done

当然,您可以使用printf更好地格式化数字(如果您有超过9个文件)

答案 1 :(得分:1)

rename具有此功能

[username@hostname aa]$ touch one-1 one-2 one-3 one-4
[username@hostname aa]$ ls
one-1  one-2  one-3  one-4
[username@hostname aa]$ rename one- VAS-M0001-000 one*
[username@hostname aa]$ ls
VAS-M0001-0001  VAS-M0001-0002  VAS-M0001-0003  VAS-M0001-0004