使用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
答案 0 :(得分:1)
您可以使用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