1. ホーム
  2. regex

[解決済み] Bashでファイルの拡張子を再帰的に変更する

2022-12-07 08:14:17

質問

あるディレクトリを再帰的に走査し、特定の拡張子を持つすべてのファイル、たとえば .t1.t2 . これを行うためのbashコマンドは何ですか?

どのように解決するのですか?

使用します。

find . -name "*.t1" -exec bash -c 'mv "$1" "${1%.t1}".t2' - '{}' +

もし rename が利用可能であれば 1 を使います。

find . -name '*.t1' -exec rename .t1 .t2 {} +

find . -name "*.t1" -exec rename 's/\.t1$/.t2/' '{}' +