更改1000多个文件的名称的一部分

更改1000多个文件的名称的一部分

我有一组大约 1000 多个文件,它们的名称很IR.ANJ.G1.E.20060102.185428.mseed相似G1

我将把G1所有文件更改为SH.

例如,IR.ANJ.G1.E.20060102.185428.mseed更改为IR.ANJ.SH.E.20060102.185428.mseed并继续所有文件。

我怎样才能做到这一点?

答案1

使用rename

rename -nv 's/\.G1\./\.SH\./' *.G1.*

-n用于试运行,一旦您看到正在重命名的内容并且如果正确,请删除n选项以进行实际重命名。

答案2

使用bash或任何其他理解模式替换的 shell ${parameter/pattern/string}

for name in ./*.G1.*; do
    echo mv "$name" "${name/.G1./.SH.}"
done

运行一次后将其删除echo(以检查它是否在做正确的事情)。

相关内容