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

推薦する

ラベルタグを使用してテキストをクリックしてラジオボタンを選択します

<label> タグは、入力要素のラベル (タグ) を定義します。ラベル要素はユーザーに...

ES6のシンボルデータ型について詳しく説明します

目次シンボルデータタイプシンボルが表示される理由シンボルの特徴シンボルの応用rbオブジェクトにupメ...

HTML知識ポイントの実践経験のまとめ

1. 表タグはtable、trは行、tdはセル、cellspacingはセル間の距離、cellpad...

CSSを使用してTDのINPUTの幅を設定する

最近、C# を使用して Web プログラムを作成していたときに、次のような問題が発生しました。 Te...

Docker で Node プロジェクトをビルドしてデプロイする方法

目次DockerとはクライアントサイドDocker基本的なDocker操作画像名画像をプルするその他...

JavaScript はフロントエンド Web ページでカウントダウンを実装します

ネイティブJavaScriptを使用してカウントダウンを簡単に実装します。参考までに、具体的な内容は...

SQL 実践演習: オンライン モール データベース ユーザー情報データ操作

オンラインショッピングモールデータベース - ユーザー情報データ運用プロジェクトの説明電子商取引の台...

mysql-8.0.15-winx64 解凍バージョンのインストールチュートリアルと終了する 3 つの方法

1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...

Tencent Cloud 上で Hadoop 3.x 疑似クラスターを構築する方法を説明します

1. 環境整備CentOS Linux リリース 7.5.1804 (コア)インストールフォルダを作...

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

CSS変数var()の使い方を理解する必要があります

Web プロジェクトがどんどん大きくなると、CSS は天文学的な大きさと複雑さを増します。この問題を...

ウェブデザインでテキストのサイズを合わせる方法: 小さなテキスト、大きな体験

iPadなどのモバイル端末の普及により、人々がモバイル端末で読書に費やす時間はますます長くなり、読...

Mapper SQL ステートメント フィールドとエンティティ クラス属性名の関係は何ですか?

背景: 1. データベースに通知テーブルがある あなたは見ることができますgmt_create、通知...

HTML thead タグの定義と使用法の詳細な紹介

コードをコピーコードは次のとおりです。 <thead> <!– 最初の 2 行をヘ...

Vueプロジェクトでvuexを使用する方法

目次Vuex とは何ですか? Vuex 使用サイクル図私のストアディレクトリvuexの例の実装要約す...