Ubuntu
Rename
Linuxコマンド
9
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

Ubuntu ファイル名の一括置換(rename コマンド)

Ubuntuのファイル名置換は、少しだけクセがあるのでまとめました。
Ubuntu以外のOSはこちら

rename コマンドをインストール

sudo apt-get install rename

ファイル名の変更

単語の置き換え

rename "s/[置き換えたい単語]/[置き換え後の単語]" [ File-Path ]
# 処理結果を表示したい場合
rename -v "s/[置き換えたい単語]/[置き換え後の単語]" [ File-Path ]

"s/[置き換えたい単語]/[置き換え後の単語]" の部分は、 perlsed での置換と同じです。
fileA.shfileB.sh に置き換えるときは以下のようになります。

# `fileA.sh' renamed as `fileB.sh'
rename "s/A/B/" fileA.sh

ワイルドカードで一括置換

ワイルドカードだと予期せぬファイルまでファイル名が変わってしまう可能性があるので、利用する際は必ずテスト環境などでお試しください。

拡張子で指定

rename "s/file/test/" *.sh

前後の文字列が一致するものを指定

rename "s/file/test/" file*.sh

特定のファイルのみ操作するとき

ファイル名を複数指定

# `fileA.sh' renamed as `A.sh'
# `fileB.sh' renamed as `B.sh'
# `fileC.sh' renamed as `C.sh'
rename "s/file//" fileA.sh fileB.sh fileC.sh 

特定ワードを含むファイルのみ操作

ls | grep -v / | grep -e file | rename -v "s/file//"

先頭に特定ワードを含むファイルのみ操作

ls | grep -v / | grep -e "file*" | rename -v "s/file//"

特定ワードと、拡張子のファイルを操作

ls | grep -v / | grep -e "file" --include "*.sh" | rename -v "s/file//"

ファイル名の前後に文字列追加

ファイル名の前に文字を追加

# `A.sh' renamed as `fileA.sh'
rename "s/^/file/" A.sh

拡張子の後に文字を追加

# `fileA.sh' renamed as `fileA.sh.old'
rename "s/$/.old/" A.sh

ファイル名の後に文字列を追加
(.sh が拡張子以外では使われていないときのみ)

# `A.sh' renamed as `A_file.sh'
rename "s/.sh/_file.sh/" A.sh

正規表現を用いた置き換え

Ubuntuでは、 rename コマンドで正規表現も利用できます。
こちらのブログ様が詳しかったのでオススメです。

# すべて小文字にする
rename 'y/A-Z/a-z/' *

参考

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
Gushi_maru
教育・研修企画でPython、Java、Javascript(ES5、ES6)、各種ITインフラ、DBMS(Oracle、Postgres、SQLite)を使用しています。自然言語処理も少々。GCPやDocker・Vagrantなどのインフラ回りと、RailsやNode.jsなどWeb系にハマっています。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
新人プログラマ応援 - みんなで新人を育てよう!
~
データに関する記事を書こう!
~
9
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー