web-dev-qa-db-ja.com

複数のファイルの特定のプレフィックスの名前を変更する方法は?

特定のプレフィックスを持つ500以上のファイルを含むフォルダーがあります。これらのファイルは、1つのディレクトリ内の複数のフォルダーに分散しています。私の目的は、これらの複数のファイルのプレフィックスの名前を変更することです。

サンプルのファイル名とパス:

  • MyFiles/my -old-FileOfAlice.txt
  • MyFiles/Folder 1/my -old-FileOfTom.odt
  • MyFiles/Folder 2/my -old-FileOfJane.doc

目的はそれらの名前を変更することです

  • MyFiles/my -new-FileOfAlice.txt
  • MyFiles/Folder 1/my -new-FileOfTom.odt
  • MyFiles/Folder 2/my -new-FileOfJane.doc

注:

  • ファイルの拡張子は同じではありません。
  • ファイルは、同じディレクトリの下の複数のフォルダに広がります。 Kubuntu 16.10を使用しています。 Ubuntu向けの回答はすべて受け入れられ、高く評価されます。

コマンドライン、プログラム、ガイド、チュートリアル、またはリンクは大歓迎です。事前に感謝します!

3
Ken

次のコマンドを使用できます。

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;

これは、現在のディレクトリで再帰的に開始される-old-を含むファイルを検索し、-old--new-に置き換えることでファイル名を変更します。

注:oldを置き換えるだけで十分かもしれませんが、-を含めた場合、名前に2番目のoldがあります(my -old-Fなど) 古い ers.doc)。

6
Wayne_Yux