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

推薦する

デザイン理論:人間中心のデザインコンセプト

<br />思想が東西に分かれていた時代、東洋の叡智を代表するものの一つとして「禅」は多...

HTML で Web ページに動的な時計を書く

HTML を使用して動的な Web クロックを作成します。コードは次のとおりです。 <!DOC...

jsはカスタムドロップダウンボックスを実装します

この記事の例では、カスタムドロップダウンボックスを実装するためのjsの具体的なコードを参考までに共有...

CocosCreatorの共通知識ポイントを整理する

目次1. シーンの読み込み2. ノードを見つける1. ノード検索2. その他のノード操作3. 再生ア...

Linux で crontab を使用してスケジュールされたタスクを追加する方法

序文Linux システムはシステム サービス crond によって制御されます。 Linux システ...

CSS で 3 列レイアウトを実装するいくつかの方法と利点と欠点

序文3 列レイアウトは、その名前が示すように、両側が固定され、中央が適応します。実際の開発では、3 ...

Nginx を使用して IP アドレスが悪意を持って解決されるのを防ぐ方法

Nginxを使用する目的Alibaba Cloud ECS クラウド サーバーを使用して、まずは著者...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

Element PlusはAffixを実装します

目次1. コンポーネントの紹介2. ソースコード分析2.1 テンプレート2.2 スクリプト2.3 実...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

jsは赤い封筒の順序と量を指定するアルゴリズムを実装します

この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...

SpringBootをDockerにデプロイし、jarパッケージを置き換える方法の詳細な説明

目次プロジェクトディレクトリDockerファイルファイルの展開画像を生成するコンテナを起動するウェブ...

MySQLはbinlogを通じてデータを復元する

目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...

Vueは要素ツリーコントロールを通じてツリーテーブルを実装します

目次実装効果図依存関係をインストールするカスタムツリーコントロールその他の実装要約するVueでは、要...

MySQL データベース クエリ パフォーマンス最適化戦略

クエリを最適化するExplain ステートメントを使用してクエリ ステートメントを分析するExpla...