Linuxのコマンドラインでファイルを操作する場合、ファイルの名前変更は、自分が関与する可能性のある最も頻繁なタスクの1つです。これを実行できるmvコマンドについてはすでに説明しました。そして、ここでは、このチュートリアルで、名前の変更と呼ばれる別のそのようなツールについて説明します。
ただし、それを始める前に、この記事のすべての例がUbuntu18.04LTSマシンでテストされていることを言及する価値があります。
Linuxの名前変更コマンド
名前が示すように、名前の変更 Linuxのコマンドを使用すると、ファイルの名前を変更できます。その構文は次のとおりです。
rename [options] expression replacement file...
そして、ツールのマニュアルページで説明されているのは次のとおりです。
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
名前変更コマンドがインストールされていない場合は、次のコマンドを使用して取得できることに注意してください。
sudo apt install rename
以下は、renameコマンドがどのように機能するかをよりよく理解するためのQ&Aスタイルの例です。
Q1。名前変更コマンドの使用方法は?
基本的な使い方は簡単ではありませんが、理解するのは難しいことではありません。 「test.txt」という名前のファイルがあり、その名前を「new.txt」に変更するとします。次に、renameコマンドを使用してこれを行う方法を説明します。
rename 's/test/new/' test.txt
Q2。名前の変更はシンボリックリンクをどのように処理しますか?
デフォルトでは、renameコマンドは、シンボリックリンクであっても、入力として渡されたファイルの名前を変更するだけです。ただし、ツールでシンボリックリンクの名前を変更せず、代わりにターゲットに作用する場合は、-sコマンドラインオプションを使用します。
したがって、symlink.txtがroot.txtを指すシンボリックリンクである場合、次のコマンドにより、root.txtに対して名前変更操作が確実に実行されます。
rename -s 's/root/new/' symlink.txt
Q3。名前を変更してドライランを作成するにはどうすればよいですか?
実際に実行せずに、renameコマンドで発生する最終的な変更のみを確認したい場合は、-nコマンドラインオプションを使用します。たとえば、次のコマンド:
rename -n 's/new/test/' new.txt
次の出力を生成しました:
rename(new.txt, test.txt)
ただし、実際にはnew.txtの名前をtest.txtに変更しませんでした。
Q4。名前の変更はファイルの上書きをどのように処理しますか?
デフォルトでは、renameコマンドは、既存のファイルの上書きを伴う場合、操作を実行しません。ただし、-fコマンドラインオプションを使用して、ツールを強制的に上書きすることができます。
たとえば、次のコマンド:
rename 's/new/test/' new.txt
次の出力を生成しました:
new.txt not renamed: test.txt already exists
ただし、-fコマンドを使用した場合:
rename -f 's/new/test/' new.txt
操作はスムーズに完了し、test.txtは上書きされました。
renameコマンドはあまり多くのオプションを提供しません、そして私達はすでにここで主要なもののいくつかを議論しました。これらの練習が終わったら、ツールのマニュアルページにアクセスして詳細を確認してください。