1000を超えるファイル名の一部を変更

1000を超えるファイル名の一部を変更

IR.ANJ.G1.E.20060102.185428.mseed私は非常に似た名前を持つ約1000以上のファイルセットを持っています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パターン置換を理解する別のシェルを使用してください${parameter/pattern/string}

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

一度実行してから削除しますecho(正しい操作を実行していることを確認するため)。

関連情報