名前変更:単語を追加したり、複数のファイルの名前を変更する方法

名前変更:単語を追加したり、複数のファイルの名前を変更する方法

私のディレクトリに複数のファイルがあります。たとえば、

eventDataLog.txt.2015-04-23-22
eventDataLog.txt.2015-04-23-23
eventDataLog.txt.2015-04-24-01
eventDataLog.txt.2015-04-24-02
eventDataLog.txt.2015-04-24-03
eventDataLog.txt.2015-04-24-04

私はそれらをすべてに変えたい

abc-eventDataLog.txt.2015-04-23-22
abc-eventDataLog.txt.2015-04-23-23
abc-eventDataLog.txt.2015-04-24-01
abc-eventDataLog.txt.2015-04-24-02
abc-eventDataLog.txt.2015-04-24-03
abc-eventDataLog.txt.2015-04-24-04

これを行うためにmvコマンドをどのように使用できますか?私はこれを使用しました

mv  eventDataLog.txt.2015-* ec2prod-eventDataLog.txt.2015-*
mv: target ‘ec2prod-eventDataLog.txt.2015-*’ is not a directory

しかし、うまくいきません

ただし、そのディレクトリには他の多くのファイルがあるため、答えは適切であり、eventDataLog.txtファイルも現在のファイルであり、使用中であるため無視する必要があります。

答え1

Bashはこのようなときに便利です。

for FILE in eventDataLog.txt.2015*; do mv "$FILE" "abc-$FILE"; done

答え2

コマンドを使用してこれを実行できますrename。あなたの場合はこれを行いますrename eventDataLog.txt.2015 abc-eventDataLog.txt.2015 eventDataLog.txt*

使用される構文はですrename frompattern topattern listoffilessuchaswildcardmatch

答え3

私はこのmmvツールを使って次のことをします。

mmv eventDataLog.txt.\* abc-eventDataLog.txt.\#1

これは、バッチの名前を変更するために特別に設計されています。

答え4

注文する

for FILE in $(ls -1 | egrep '^eventDataLog' | egrep -v '^eventDataLog.txt$'); do mv $FILE abc-$FILE; done

ノート

  • egrep正規表現をサポートするバージョンで、ほとんどのディストリビューションにgrep含まれています。grep
  • まず、egrep「eventDataLog」で始まるすべてのファイルをフィルタリングします。
  • 2番目はegrepすべてのファイルをフィルタリングします。欲しくない-v注意事項match) は無視したいファイルのフルネームと一致します。

証明する

$ ls -1
eventDataLog.txt
eventDataLog.txt.2015-04-23-22
eventDataLog.txt.2015-04-23-23
eventDataLog.txt.2015-04-24-01
eventDataLog.txt.2015-04-24-02
eventDataLog.txt.2015-04-24-03
eventDataLog.txt.2015-04-24-04
myOtherFile
mySecondOtherFile

$ for FILE in $(ls -1 | egrep '^eventDataLog' | egrep -v '^eventDataLog.txt$'); do mv $FILE abc-$FILE; done

$ ls -1
abc-eventDataLog.txt.2015-04-23-22
abc-eventDataLog.txt.2015-04-23-23
abc-eventDataLog.txt.2015-04-24-01
abc-eventDataLog.txt.2015-04-24-02
abc-eventDataLog.txt.2015-04-24-03
abc-eventDataLog.txt.2015-04-24-04
eventDataLog.txt
myOtherFile
mySecondOtherFile

関連情報