Linuxでファイルを簡単にリネームする方法

ファイルのリネームは特に高度な操作ではありません。少数のファイルであれば、特別なツールは通常必要ありません。しかし、昨年の休暇の写真が入ったフォルダ全体をリネームする必要がある場合、時間を節約するためのトリックやアプリを考慮するのが賢明かもしれません。
Linuxでファイルをリネームするには、一般的に2つのアプローチがあります:コマンドラインインターフェースを使用するか、スタンドアロンアプリケーションを使用するかです。LinuxユーザーはCLIの強力さをすでに知っているので、ファイルリネームのためのいくつかのコマンドがあることは驚くべきことではありません。
関連記事: Linuxターミナルでテキスト、ファイル、フォルダをコピー&ペーストする方法
“mv”コマンドを使ったファイルのリネーム
Linuxでファイルをリネームする簡単な方法は、mvコマンドを使用することです(「move」の略)。その主な目的はファイルやフォルダを移動することですが、リネームも行えます。なぜなら、ファイルをリネームする行為は、ファイルシステムによって1つの名前から別の名前に移動することとして解釈されるからです。
以下の構文を使用して、mvでファイルをリネームします:
mv(option) filename1.ext filename2.ext「filename1.ext」はファイルの元の名前で、「filename2.ext」は新しい名前です。

同じパターンはフォルダのリネームにも適用されます。ファイルが現在のアクティブフォルダにない場合は、フルパスを指定する必要があります:
mv/home/user/Files/filename1.ext /home/user/Files/filename2.extmvコマンドは、ファイルを含むフォルダに対する書き込み権限を必要とします。システムファイルやフォルダの場合、ユーザーはsudoを付けてmvを実行することでルート権限を取得する必要があります。-i(インタラクティブ)オプションを使用すると、実際に適用される前にファイルのリネームを確認するようにユーザーに求められます。
また、-v(冗長)オプションもあり、mvによって行われたすべての変更をリストします。オプションはmvの後、ファイル名の前に書きます。
“rename”コマンドを使用する
Linuxでファイルをリネームするこのコマンドは、mvよりも少し高度です。なぜなら、正規表現の知識、または少なくとも基本的な理解が必要だからです。それは怖いかもしれませんが、renameをあきらめないでください。チュートリアルに従うことで、単純なバッチリネームに使用できます。
多くのLinuxディストリビューションでは、renameコマンドはデフォルトで利用できない場合があります。もしあなたのディストリビューションで使用できない場合は、インストールする必要があります。
DebianベースのLinuxでは、ターミナルに次のように入力します:
sudo apt install renameArchベースのLinuxでは:
sudo pacman -S renamerenameの構文は次のようになります:
rename (option)'s/oldname/newname/' file1.ext file24.ext「s」は「置換」を意味し、正規表現の主要部分です。その周りのシングルクォートは必須です。利用可能なオプションは:
-v(冗長:新しい名前とともにリネームされたファイルのリストを印刷)-n(「アクションなし」:変更されるファイルを触れずに表示するテストモードまたはシミュレーション)-f(元のファイルを強制的に上書き)
renameコマンドは、同じタイプの複数のファイルをリネームするためにワイルドカードを受け入れ、ファイル拡張子にも適用されます。たとえば、次のコマンドはすべての.jpeg拡張子のファイルを.jpgに変更します:
rename 's/.jpeg/.jpg/'*ワイルドカード記号(*)は、フォルダ内のすべてのファイルに影響を与えます。
正規表現には独自のオプション(修飾子)もあります:「g」(グローバル:表現のすべての出現に影響)および「i」(大文字と小文字を区別しない置換を実行)。これらは、閉じるシングルクォートの直前に表現の最後に書かれ、組み合わせることができます:
rename -n's/DSC/photo/gi'*.jpgこれは、「DSC」、「dSC」、「dsc」を含むすべての.jpgファイルに適用され、その部分を「photo」に変更します。しかし、「-n」オプションのため、コマンドは実際にはファイルをリネームせず、コンソールウィンドウに印刷されるだけです。
置換だけがこの正規表現ができることではありません。変換もあり、「y」でマークされ、ファイル名をより複雑なレベルで変換できます。これは、ファイル名のケースを変更するために最もよく使用されます:
rename 'y/a-z/A-Z/'*.jpgこれは、すべての.jpgファイルの名前を小文字から大文字に変更します。逆にするには、正規表現の「oldname」と「newname」の部分を入れ替えます。
renameコマンドを使用することは、望ましい結果を得るためにいくつかの基本パターンを組み合わせることに帰着します。-nオプションのおかげで、ユーザーはファイルを危険にさらすことなく(または神経をすり減らすことなく)、リネームされたファイルがどのように見えるかの安全で便利なプレビューを提供します。
関連記事: Linuxで「デバイスに空き容量がありません」エラーを修正する方法
Métamorphose2
Métamorphoseは、クロスプラットフォームのファイルおよびフォルダの一括リネーマーです。リネーム操作を実行するためにGUIツールを好む人には、Métamorphoseは非常に強力なツールです。WindowsとLinuxの両方で利用可能です。
始めるには、公式ウェブサイトにアクセスして、あなたのディストリビューション用のインストーラーファイルをダウンロードします。Debianベースのディストリビューション用のdebファイルと、Fedora、Mandriva、SUSE用のRPMパッケージを提供しています。
アプリを実行すると、最初の「Picker」タブが表示されます。ここで、一括リネームしたいファイルが含まれるディレクトリを選択します。リネーム操作ごとに1つのディレクトリのみをサポートしていることに注意してください。ただし、選択したディレクトリ内の子フォルダを再帰的に処理できます。

ディレクトリを選択したら、「Renamer」タブをクリックします。ここからリネームルールを決定できます。左側のペインで、実行したいアクションを選択できます。たとえば、「挿入」は名前に用語を挿入し、「長さ」はファイル名を特定の文字数にトリミングします。「テキストを移動」、「置換」、「修正」オプションも選択できます。ご覧のとおり、ファイルをリネームするための広範なオプションを提供しています。

最後に、下部のペインの上部にある「Go」ボタンをクリックしてリネームアクションを実行します。リネーム後にエラーが見つかった場合は、すべての変更を元に戻すための元に戻すオプションがあります。
関連記事: Linuxでターミナルからファイルを印刷するためのlpコマンドの使い方
pyRenamer – 簡単な解決策
最後に、すべてのコンソール嫌いのユーザーが待っていた解決策:すべてをマウスのクリックで行えるデスクトップアプリケーションです。pyRenamerは、Pythonで書かれた非常に強力なファイルリネーミングツールで、こちらで見つけることができます。Ubuntuおよびその派生版のユーザーは、次のコマンドを使用してリポジトリからpyRenamerをインストールできます:
sudo apt install pyrenamer
インターフェースは4つの部分で構成されています:
- ファイルとフォルダを選択するためのツリービューのファイルブラウザ
- リネーム前後のファイル名を表示する中央のプレビューペイン
- リネーム基準を選択するためのタブ制御エリア
- オプションサイドバー
pyRenamerは、ファイル名からアクセントや重複シンボルを削除したり、任意のテキストの文字列を別のものに置き換えたり、20の名前を大文字、小文字、または文のケースに変換したり、自動的にスペースやアンダースコアを挿入または削除したりできます。初心者は、すべてをタブエリアで簡単に選択し、メインエリアでプレビューし、リネームをクリックすることで確認できるので、これを気に入るでしょう。パターンを試したい場合、pyRenamerは使いやすくするためのチートシートを提供しています。

上級ユーザーは、メタデータから読み取ることでマルチメディアファイルをリネームするpyRenamerの能力を評価するでしょう。また、バッチリネームが不要な場合に単一のファイルを手動でリネームすることも可能です。
本質的に、pyRenamerはmvおよびremoveコマンドの機能をユーザーフレンドリーなGUIにまとめています。CLIスキルに自信がない人にとっては素晴らしい選択肢です。
Linuxでファイルをリネームする方法を知ったので、次はファイルの権限を再帰的に変更する方法を学びたいかもしれません。遅いLinuxコンピュータの診断方法や、ホストファイルを使用してウェブサイトをブロック/アクセスする方法についても学んでみてください。