Linux で複数のファイルの名前を一度に変更する方法

Linux で複数のファイルの名前を一度に変更する方法

序文

日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更するなど、一連のファイルの名前を変更する必要があることがよくあります。

Unix 系オペレーティング システムでファイルやディレクトリの名前を変更したり移動したりするには、mv コマンドを使用することをすでにご存知かもしれません。 ただし、mv コマンドは複数のファイルの名前を一度に変更することはできません。 心配しないで。 このチュートリアルでは、Linux で mmv コマンドを使用して複数のファイルの名前を一度に変更する方法を学習します。 このコマンドは、Unix 系オペレーティング システムで標準のワイルドカードを使用して、ファイルを一括して移動、コピー、追加、名前変更するために使用されます。

Linux で複数のファイルの名前を一度に変更する

mmv プログラムは、Debian ベースのシステムのデフォルトのリポジトリで利用できます。 Debian、Ubuntu、Linux Mint にインストールするには、次のコマンドを実行します。

$ sudo apt-get をインストール mmv

現在のディレクトリに次のファイルがあることを前提としています。

$ ls
a1.txt a2.txt a3.txt

ここで、文字「a」で始まるすべてのファイルの名前を「b」で始まるように変更します。 もちろん、これを手動で数秒で実行することもできます。 しかし、名前を変更したいファイルが何百もあるのでしょうか? これは非常に時間のかかるプロセスです。 ここで mmv コマンドが役に立ちます。

文字「a」で始まるすべてのファイルの名前を文字「b」で始まるように変更するには、次のコマンドを実行します。

$ mmv a\* b\#1

ファイル名が変更されたか確認してみましょう。

$ ls
b1.txt b2.txt b3.txt

ご覧のとおり、文字「a」で始まるすべてのファイル (つまり、a1.txt、a2.txt、a3.txt) の名前が b1.txt、b2.txt、b3.txt に変更されます。

説明する

上記の例では、最初の引数 (a\*) は「from」パターンであり、2 番目の引数は「to」パターン (b\#1) です。上記の例によれば、mmv は文字「a」で始まるファイル名を検索し、2 番目のパラメータである「to」パターンに従って一致するファイルの名前を変更します。 *、?、[] などのワイルドカード文字を使用して、1 つ以上の任意の文字を一致させることができます。ワイルドカード文字はエスケープする必要があることに注意してください。そうしないと、シェルによってワイルドカード文字が展開され、mmv はワイルドカード文字を理解しなくなります。

「to」パターンの #1 はワイルドカード インデックスです。これは、「from」パターンの最初のワイルドカード文字と一致します。 「to」パターンの #2 は、2 番目のワイルドカード文字 (存在する場合) と一致します。この場合、ワイルドカード文字 (アスタリスク) は 1 つしかないため、#1 と記述します。また、# 記号はエスケープする必要があります。あるいは、パターンを引用符で囲むこともできます。

特定の拡張子を持つすべてのファイルの名前を別の拡張子に変更することもできます。たとえば、現在のディレクトリ内のすべての .txt ファイルの名前を .doc ファイル形式に変更するには、次のコマンドを実行します。

$ mmv \*.txt \#1.doc

もう一つの例を挙げます。 以下のファイルがあることを前提としています。

$ ls
abcd1.txt abcd2.txt abcd3.txt

現在のディレクトリ内のすべてのファイルで、最初に出現する「abc」を「xyz」に置き換えます。 あなたならどうしますか?

とても簡単です。

$ mmv '*abc*' '#1xyz#2'

上記の例では、パターンが一重引用符で囲まれていることに注意してください。

「abc」が実際に「xyz」に置き換えられるかどうかを確認しましょう。

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

見ましたか? ファイル abcd1.txt、abcd2.txt、abcd3.txt の名前が xyzd1.txt、xyzd2.txt、xyzd3.txt に変更されました。

mmv コマンドのもう 1 つの注目すべき機能は、以下に示すように、ファイル名を変更する代わりに -n オプションを使用して出力を印刷できることです。

$ mmv -na\* b\#1
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

こうすることで、ファイルの名前を変更する前に、mmv コマンドが実際に何を実行するかを簡単に確認できます。

詳細についてはマニュアルページを参照してください。

$ 男 mmv

アップデート: Thunar ファイルマネージャー

Thunar ファイル マネージャーには、デフォルトでバッチ名前変更オプションが組み込まれています。 Thunar を使用している場合、ファイル名の変更は mmv コマンドを使用するよりもはるかに簡単です。

Thunar は、ほとんどの Linux ディストリビューションのデフォルトのリポジトリで利用できます。

Arch ベースのシステムにインストールするには、次のコマンドを実行します。

$ sudo pacman -S トゥーナー

RHEL、CentOS の場合:

$ sudo yum インストール thunar

Fedora の場合:

$ sudo dnf インストール thunar

openSUSE の場合:

$ sudo zypper をインストールします

Debian、Ubuntu、Linux Mint の場合:

$ sudo apt-get をインストールします

インストールしたら、メニューまたはアプリケーション ランチャーから Bulk Renamer を起動できます。 ターミナルから起動するには、次のコマンドを使用します。

$ トゥーナー -B

一括名前変更の方法は以下の通りです。

「+」をクリックして、名前を変更するファイルのリストを選択します。 バッチ名前変更では、ファイル名、ファイルサフィックス、またはファイル名とサフィックスを同時に名前変更できます。 Thunar は現在、次のバッチ名前変更をサポートしています。

  • 日付または時刻を挿入
  • 挿入または上書き
  • シリアルナンバー
  • 文字の削除
  • 検索と置換
  • 大文字または小文字

オプションのリストからこれらの条件のいずれかを選択すると、下のスクリーンショットに示すように、「新しい名前」列に変更のプレビューが表示されます。

条件を選択したら、「ファイル名の変更」オプションをクリックしてファイルの名前を変更します。

2 つ以上のファイルを選択して、Thunar から Batch Renamer を開くこともできます。 ファイルを選択した状態で、F2 キーを押すか、右クリックして「名前の変更」を選択します。

お誕生日おめでとう!

出典: https://www.ostechnix.com/how-to-rename-multiple-files-at-once-in-linux/

著者: SK トピック: lujun9972 翻訳者: Flowsnow 校正者: wxy

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux で複数のファイルの名前を一括で変更する方法

<<:  ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

>>:  MySQL thread_stack 接続スレッドの最適化

推薦する

Vueはボトムクエリ関数を実装します

この記事では、ボトムクエリ機能を実装するためのVueの具体的なコードを例として紹介します。具体的な内...

HTML文書の基本構造(Webページ作成の基礎知識)

HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

MySQL 5.7.21 のインストールとパスワード設定のチュートリアル

MySQL5.7.21のインストールとパスワード設定のチュートリアルは次のとおりです。公式リファレン...

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...

JavaScriptプロトタイプチェーンの詳細な説明

目次1. コンストラクタとインスタンス2. プロパティプロトタイプ3. プロパティ __proto_...

Gojs がアリのラインアニメーション効果を実装

目次1. Gojsの実装1. 描画2. 破線の実装3. 点線を動かす2. 点線と点線アニメーションの...

ReactにおけるuseRefの具体的な使い方

React の経験がある人なら、コンポーネントインスタンスオブジェクトや DOM オブジェクトを取得...

Linux で xargs コマンドを使用する詳細なチュートリアル

みなさんこんにちは。私は梁旭です。 Linux を使用しているときに、いくつかのコマンドを連結する必...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

MySQL の 4 つのトランザクション分離レベルの詳細な説明

この実験のテスト環境: Windows 10+cmd+MySQL5.6.36+InnoDB 1. ト...

Vue h関数の使い方の詳しい説明

目次1. 理解2. 使用1. h() パラメータ2. 使い方が簡単3. カウンターケースを実装する4...

経験者のHTMLの書き方と理由の分析

1. ナビゲーション: 順序なしリストとその他のラベル要素ナビゲーションを記述するために最も一般的に...

インライン要素スパンの最小高さの定義

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

HTTP ヘッダー情報の解釈と分析 (詳細概要)

HTTP ヘッダーの説明1. Accept: Web サーバーに受け入れるメディア タイプを通知しま...