2016-04-04 8 views
1

* YYY *`へ私は同じように、名前にXXX文字列を含むファイルの束を持っている:コピーファイル `* XXX *` `

  • someXXXfile
  • someotherXXXfile
  • ...

私はすべてのこれらのファイルを利用したいと同じフォルダにコピーし、別の文字列YYYXXXを変更するので、私は同じフォルダに得る:

  • someXXXfile
  • someotherXXXfile
  • ...
  • someYYYfile
  • someotherYYYfile
  • ...

私はそれをどのように行うことができますか?あなたが行うことができますbashで

答えて

4

:あなたはrename有用性を持っている場合は

for f in *XXX*; do echo mv -i "$f" "${f/XXX/YYY}"; done 

が、その後使用:

rename 's/XXX/YYY/' *XXX* 
+1

ありがとう、これは私が欲しかったものです。 – Jepessen

+1

このような一括移動には常に 'mv -i'を使用してください。そうすれば、静かにファイルを上書きするのではなく、名前の衝突を通知します。 –

+0

チップの@GordonDavisson(編集済み) – anubhava

2

は超便利renameコマンドを使用します。すべてのファイルでXXXからYYYに名前を変更すると考えてください。

rename XXX YYY * 

あなたは、移動する最初のいくつかのサブディレクトリにコピーし、バック移動に加えてコピーに探している場合。

関連する問題