GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでのコマンドの名前変更(複数のファイルの名前変更)

mvを使用して複数のファイルとディレクトリの名前を変更する コマンドは、パイプやループなどを使用して複雑なコマンドを作成する必要があるため、面倒なプロセスになる可能性があります。

ここでrename コマンドが便利です。名前の検索式を指定された置換に置き換えることにより、指定されたファイルの名前を変更します。

このチュートリアルでは、renameの使用方法を説明します ファイルの名前を一括変更するコマンド。

インストールrename

renameには2つのバージョンがあります 構文と機能が異なるコマンド。 renameのPerlバージョンを使用します コマンド。

このバージョンがシステムにインストールされていない場合は、Linuxディストリビューションのパッケージマネージャーを使用してインストールしてください。

  • UbuntuとDebian

    sudo apt updatesudo apt install rename
  • CentOSとFedora

    sudo yum install prename
  • Arch Linux

    yay perl-rename
renameの使用 #

以下は、renameの一般的な構文です。 コマンド:

rename [OPTIONS] perlexpr files

rename コマンドは基本的にPerlスクリプトです。指定されたfilesの名前が変更されます 指定されたperlexprに従って 正規表現。 Perlの正規表現についてはここで読むことができます。

たとえば、次のコマンドはすべての.cssの拡張子を変更します .scssへのファイル :

rename 's/.css/.scss/' *.css

コマンドについて詳しく説明しましょう:

  • s/search_pattern/replacement/ -置換演算子。
  • .css -検索パターン。これは、置換演算子の最初の引数です。 rename コマンドは、指定されたファイル名でこのパターンを検索し、見つかった場合は、置換引数に置き換えます。
  • .scss -交換。置換演算子の2番目の引数。
  • *.css -拡張子が「.css」のすべてのファイル。ワイルドカード(* )は、0、1つ以上の文字を表すために使用される記号です。

実際のコマンドを実行してファイルとディレクトリの名前を変更する前に、常に-nを使用することをお勧めします。 「ドライラン」を実行し、名前が変更されるファイルを表示するオプション:

rename -n 's/.css/.scss/' *.css

出力は次のようになります:

rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

デフォルトでは、rename コマンドは既存のファイルを上書きしません。 -fを使用します renameを指示するオプション 既存のファイルを上書きするには:

rename -f 's/.css/.scss/' *.css

renameが必要な場合 名前が正常に変更されたファイルの名前を出力するには、-vを使用します (詳細)オプション:

rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

rename 例#

以下は、renameコマンドの使用方法の一般的な例です。

ファイル名のスペースをアンダースコアに置き換えます#

rename 'y/ /_/' *
ファイル名を小文字に変換します#
rename 'y/A-Z/a-z/' *

ファイル名を大文字に変換#

rename 'y/a-z/A-Z/' *

.bakを削除します ファイル名から#

rename 's/\.bak$//' *.bak

.jpegの名前を変更します および.JPG .jpgへのファイル名 #

rename 's/\.jpe?g$/.jpg/i' *

結論#

rename コマンドを使用すると、Perl正規表現を使用して、一度に複数のファイルの名前を変更できます。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxでファイルとディレクトリをコピーする

  2. Linuxの名前変更コマンド

  3. Linux ls コマンド - ファイルの一覧表示

  1. Linux の mcopy コマンド

  2. Linux で複数のファイルのファイル名の一部を削除する

  3. Linux で複数のファイルを見つけて名前を変更する

  1. Linuxでファイルの名前を変更する方法

  2. Linuxで複数のファイルを圧縮する方法

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