ウェブサイト検索

Linuxでの一括ファイルリネームのためのmmvの使い方


Linuxでファイルの名前を変更することは、ファイルをより整理するためや、一括でファイルの名前を変更するために、私たち全員が行うことです。

基本的なツールとしてmvやrenameがありますが、複数のファイルを一度にリネームする必要があるときに、プロセスをはるかに簡単にする高度なツールとしてmmvがあります。

経験豊富なLinuxユーザーとして、私はmmvがファイルのバッチリネームにおいて強力なツールであることを発見しました。この投稿では、効果的に使う方法をお見せします。

mmvとは何ですか?

mmvは複数移動を意味し、複数のファイルを一度にリネーム、移動、およびコピーすることを可能にするコマンドラインユーティリティです。mvコマンドとは異なり、これは1回に1つのファイルをリネームするのには適していますが、mmvは大量のリネームを簡単に扱えるように設計されています。

Linuxにmmvをインストールするには、特定のLinuxディストリビューションに適したコマンドを使用してください。

sudo apt install mmv         [On Debian, Ubuntu and Mint]
sudo yum install mmv         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/mmv  [On Gentoo Linux]
sudo apk add mmv             [On Alpine Linux]
sudo zypper install mmv      [On OpenSUSE]    
sudo pkg install mmv         [On FreeBSD]

Arch Linux では、AUR リポジトリから mmv をインストールする必要があります。


sudo pacman -S git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S mmv

インストールが完了すると、ファイルの名前を変更する準備が整います。

mmvの基本的な構文は次のとおりです:

mmv [options] source_pattern target_pattern
  • これは、名前を変更したいファイルに一致するパターンです。
  • これはリネームされたファイルがどのように表示されるかの例です。

例えば、すべての.txtファイルを.mdファイルに名前を変更したい場合は、次のようにします:

mmv '*.txt' '#1.md'

ここで、#1 は * ワイルドカードによって一致したファイル名の部分を指します。

Linuxにおける高度なリネーミングのためのmmvの使用例

ここでは、mmvを効果的に使用するためのいくつかの高度な例を示します:

1. パターンを使った複数ファイルの名前変更

例えば、file1.txt、file2.txt、file3.txt といったいくつかのファイルがあり、それらの名前を document1.txt、document2.txt、document3.txt などに変更したいとしましょう。

これがその方法です:

mmv 'file*.txt' 'document#1.txt'

この例では:

  • file*.txtは、fileで始まり、.txtで終わるすべてのファイルに一致します。
  • document#1.txt はそれらを document1.txt、 document2.txt といったように名前を変更します。

2. プレフィックスまたはサフィックスを追加してファイル名を変更する

例えば、複数のファイルにプレフィックスやサフィックスを追加したいとしましょう。例えば、image1.jpg、image2.jpg、image3.jpg のようなファイルがあり、それぞれのファイルにプレフィックス 2025_ を追加したいとします。

これがその方法です:

mmv '*.jpg' '2025_#1.jpg'

これにより、ファイルは2025_image1.jpg、2025_image2.jpgなどに名前が変更されます。

代わりに接尾辞を追加したい場合は、次のようにできます:

mmv '*.jpg' '#1_2025.jpg'

これにより、ファイルはimage1_2025.jpg、image2_2025.jpgなどに名前が変更されます。

3. 正規表現を使ったファイルの名前変更

mmvは正規表現をサポートしているので、複雑なパターンを一致させるために使用できます。例えば、data_01.txt、data_02.txt、data_03.txtのようなファイルがあり、数字の先頭のゼロを削除したいとしましょう。

これを使用してできます:

mmv 'data_0*.txt' 'data_#1.txt'

4. サブディレクトリ内のファイルの名前を変更する

サブディレクトリにファイルがあり、それらをリネームしたい場合は、-rオプションを使用してファイルを再帰的にリネームできます。たとえば、現在のディレクトリおよびすべてのサブディレクトリ内のすべての.txtファイルをリネームしたい場合:

mmv -r '*.txt' '#1.txt'

これにより、現在のディレクトリおよびそのサブディレクトリ内のすべての .txt ファイルの名前が変更されます。

結論

Linuxでファイルの名前を変更するのは、面倒な作業である必要はありません。mmvを使用すれば、高度なパターンを使って簡単に複数のファイルの名前を変更できるので、時間と労力を節約できます。プレフィックスを追加する必要がある場合や、拡張子を変更する場合、または一括でファイルの名前を変更する場合でも、mmvがあなたをサポートします。

試してみて、どのようにうまくいったか教えてください!質問があったり、さらにサポートが必要な場合は、下にコメントを残してください。

関連記事: