使用Linux命令行工具,我们希望更改以下格式的文件名:
SC1177.2.0002.2015.09.16.18.05.05.900577.177003720.IMA
除了在第二个数字上加100之外,我们想保持一切不变。因此文件名将变为:
SC1177.102.0002.2015.09.16.18.05.05.900577.177003720.IMA
注意,我们不能只加前缀"10",因为另一个文件名是:
SC1177.10.0032.2015.09.16.18.05.05.900577.177107276.IMA
然后应该变成:
SC1177.110.0032.2015.09.16.18.05.05.900577.177107276.IMA
您可以使用awk帮助进行重命名。例如,如果文件名在变量name
中,则可以使用更改名称
newname=`awk -F. -v OFS=. '{$2+=100};1' <<<$name`
如果你想进一步重命名特定目录中以SC开头的所有文件,你可以这样做:
for name in SC*; do
newname=`awk -F. -v OFS=. '{$2+=100};1' <<<$name`
mv "$name" "$newname"
done