ホーム > ファイル・ディレクトリ管理 > rename

rename: 複数ファイル名の一括変更ツール

renameコマンドは、正規表現を使用して複数のファイル名を一度に変更するために使用されます。`mv`とは異なり、パターンに基づいてファイル名を一括で修正する際に非常に便利です。

概要

renameは、大量のファイル名を規則に従って変更する際に使用する強力なコマンドです。このコマンドは、`s/old_pattern/new_pattern/`のようなPerl正規表現構文を使用して、ファイル名内の特定の文字列を検索し、別の文字列に置き換えることができます。たとえば、すべての`.jpeg`拡張子を`.jpg`に変更したり、ファイル名に含まれる空白をアンダースコア(`_`)に変更したりするなどの作業を簡単に自動化できます。

主な特徴

renameコマンドの主な特徴は以下の通りです。

  • 複数のファイル名を一度に変更します。
  • 正規表現に基づいた強力なパターン置換機能を提供します。
  • `mv`コマンドが一つずつ変更するのとは異なり、一括作業に最適化されています。
  • 変更結果を事前に確認できる`dry run`モードをサポートしており、ミスを防ぐことができます。

renameとmvの違い

renameとmvはどちらもファイル名の変更に使用されますが、機能と目的において違いがあります。

  • rename: 複数のファイル名をパターンに基づいて一括変更することに特化しています。
  • mv: 単一のファイルやディレクトリの名前を変更したり移動したりするのに使用されます。複数のファイルを変更するにはスクリプトが必要です。

主要オプション

よく使用するrenameコマンドのオプションを目的別にグループ化しました。

1) 一括変更

2) ヘルプ

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`rename` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

renameコマンドの様々な使用例を通じて機能を習得してください。

ファイル拡張子の変更

rename 's/\.jpeg$/.jpg/' *.jpeg

現在のディレクトリ内のすべての`.jpeg`拡張子を`.jpg`に変更します。

ファイル名内の特定文字列の変更

rename 's/^image_/photo_/' *.jpeg

`image_`で始まるすべてのファイル名で、`image_`を`photo_`に変更します。

空白をアンダースコアに変更

rename 's/ /_/g' *

ファイル名に含まれるすべての空白(` `)をアンダースコア(`_`)に変更します。

大文字を小文字に変換

rename 'y/A-Z/a-z/' *

すべてのファイル名の大文字を小文字に変換します。

変更結果のプレビュー

rename -n 's/.html/.txt/' *.html

実際のファイルを変更せずに、`.html`拡張子を`.txt`に変更した場合の結果を事前に確認します。

インストール

renameはすべてのLinuxディストリビューションに標準で含まれているわけではないため、以下のコマンドでインストールする必要があります。一部のディストリビューションでは、`perl-rename`または`prename`としてパッケージ名が異なる場合があります。

Debian/Ubuntu

sudo apt update
sudo apt install rename

RHEL/CentOS/Fedora

sudo dnf install prename

Arch Linux

sudo pacman -S perl-rename

ヒントと注意事項

renameコマンド使用時の注意点をまとめました。

ヒント

  • 正規表現においてドット(`.`)は任意の1文字を意味するため、拡張子を変更する際は`\.jpeg`のようにバックスラッシュ(`\`)を使用してエスケープする必要があります。
  • renameは強力なツールであるため、ミスを防ぐために常に`-n`オプションを最初に使用して結果を確認することをお勧めします。
  • ファイル名に空白が含まれている場合は、引用符(`"`)で囲んで引数として渡す必要があります。

関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。


同じカテゴリのコマンド