findコマンドを使用してプレフィックスとサフィックスを含む複数のファイルの名前を変更する方法

findコマンドを使用してプレフィックスとサフィックスを含む複数のファイルの名前を変更する方法

サフィックス」を追加して、findコマンドで見つけた多くのファイルの名前を変更する次のコマンドがあります。処理済み". "ren"などのプレフィックスを追加するにはどうすればよいですか?「?

find . -type f -name 'file*.dat' -execdir mv {} {}_processed ';'

答え1

次のコマンドを試してくださいrename(Perl式ベース)。

find . -type f -name "file*.dat" -execdir rename 's/(file.*?\.dat)$/ren_$1_processed/' {} +

ディレクトリセクションのファイルをキャプチャしないように、正規表現の名前変更を遅らせる必要があります。また、 rename は複数の引数を喜んで受け入れることができます。

これにより、コマンドによって提供されるすべてのファイルの名前が変更され、ファイルの両側にfindプレフィックスren_とサフィックスが追加されます。_processed「によると」ファイル名

関連情報