![更改1000多个文件的名称的一部分](https://linux22.com/image/118437/%E6%9B%B4%E6%94%B91000%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9A%84%E5%90%8D%E7%A7%B0%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86.png)
我有一组大约 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
(以检查它是否在做正确的事情)。