民謡大観にかけた町田佳聲の執念(一)
目次:
mv
コマンドを使用して複数のファイルとディレクトリの名前を変更するのは、パイプやループなどを使用して複雑なコマンドを記述する必要があるため、退屈なプロセスです。
これは、
rename
コマンドが便利な場所です。 名前の検索式を指定の置換に置き換えることにより、指定されたファイルの名前を変更します。
このチュートリアルでは、
rename
コマンドを使用してファイルの名前を一括変更する方法を説明します。
rename
インストール
rename
コマンドには、構文と機能が異なる2つのバージョンがあります。
rename
コマンドのPerlバージョンを使用します。
このバージョンがシステムにインストールされていない場合は、Linuxディストリビューションのパッケージマネージャーを使用してインストールします。
-
UbuntuおよびDebian
sudo apt update
sudo apt install rename
CentOSおよびFedora
sudo yum install prename
Arch Linux
yay perl-rename
rename
使用
rename
コマンドの一般的な構文は次のとおりです。
rename perlexpr files
rename
コマンドは基本的にPerlスクリプトです。 指定された
perlexpr
正規表現に従って、指定された
files
名前を変更し
files
。 ここでPerlの正規表現について読むことができます。
たとえば、次のコマンドは、すべての
.css
ファイルの拡張子を
.scss
変更します。
rename 's/.css/.scss/' *.css
コマンドについて詳しく説明しましょう。
-
s/search_pattern/replacement/
-置換演算子。.css
検索パターン。 これは、置換演算子の最初の引数です。rename
コマンドは、指定されたファイル名でこのパターンを検索し、見つかった場合は、置換引数で置き換えます。.scss
置換。 置換演算子の2番目の引数。*.css
-「.css」拡張子を持つすべてのファイル。 ワイルドカード(*
)は、ゼロ、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
コマンドは既存のファイルを上書きしません。 既存のファイルを上書きするように
rename
に指示
rename
-f
オプションを使用します。
rename -f 's/.css/.scss/' *.css
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
コマンドを使用すると、Perlの正規表現を使用して、複数のファイルの名前を一度に変更できます。