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 接続スレッドの最適化

推薦する

MySQL の計画タスクとイベント スケジュール例の分析

この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...

Vueはページに透かし効果を追加する機能を実装します

最近、あるプロジェクトに取り組んでいたとき、ページに透かし効果を追加するように依頼されました。さっそ...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

MySQL サブクエリとグループ化されたクエリ

目次概要サブクエリサブクエリの分類クエリの結果によるとサブクエリの位置で区別する選択後のサブクエリサ...

HTML DOCTYPEの略語

DOCTYPE が次のとおりである場合:コードをコピーコードは次のとおりです。 <!DOCTY...

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

ワンクリックで雨や雪のエフェクトを実現する ThingJS パーティクルエフェクト

目次1. パーティクルエフェクト2. シーンを読み込む3. さまざまな粒子効果の実現エンディング: ...

MySQL で 2 つのテーブルをクエリする場合の from と join の違いの概要

序文MySQL では、複数テーブル結合クエリは非常に一般的な要件です。複数テーブルクエリを使用する場...

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

HTML における画像タグの使用方法の詳細な説明

HTML では、<img> タグはテキスト内の画像タグを定義するために使用されます。その...

uniapp プロジェクトで MQTT を使用する方法

目次1. uniappプラグインマーケットのリファレンスプラグイン2. 具体的な導入プロセス1. m...

Alibaba Cloud Centos7.X で外部にポートを開く方法

一言で言えば、大手メーカーからクラウド サーバーを購入する場合は、セキュリティ グループに移動して、...

MySQL シリーズ 3 基礎

目次チュートリアルシリーズ1. MySQL の紹介2. MySQLの開発履歴3. MariaDBの基...

CSS3はトランジション効果を実現するためにtransitionプロパティを使用する。

物件の詳細な説明transition 属性の目的は、一部の CSS プロパティ (背景など) をスム...

IDEA が docker を統合して springboot プロジェクトを展開するプロセス全体

目次1. IDEAはdockerプラグインをダウンロードします2. クラウドサーバーDocker 2...