すべてのファイル名を変更する

すべてのファイル名を変更する

次の名前のファイルが 800 個あります。

Centrum.text.201601-01
Centrum.text.201601-02 

月に30日まで01など12ヶ月全体。

私が望むのは、すべてのファイルの名前を一度に次のように変更することです。

Centrum.201601-01.text
Centrum.201602-12.text

その月にも同じです。

可能であれば1行で。オペレーティングシステム - rhel5

ベストアンサー1

努力する

 rename -n 's/Centrum.text.(.*)/Centrum.$1.text/' Cen*

時事

  • s/Centrum.text.(.*)/Centrum.$1.text/交換表示(内部パターン移動)

それから

rename  's/Centrum.text.(.*)/Centrum.$1.text/' Cen*

編集する:

名前が変更されていない場合は、ファイルを含むディレクトリから

ls -1 | awk -F. '/Centrum/ {printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}'

プレビュー用

  • -1(1行に1つのファイル)inはls役に立たないかもしれませんが、lsのエイリアスがある場合に備えてです。
  • /Centrum/ファイル名によるフィルタリング
  • {printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}日付とテキストフィールドを置き換えます。

| bashすべてがうまくいったら、最後に追加してください。

おすすめ記事