ユーザーガイド:Linuxでrenameコマンドを使用する

でrenameコマンドを使用しようとしたことがありますか Linux ? Linuxの世界でファイルの名前を変更する強力な機能を理解し、mvと自分自身に休息を与えたいですか。名前の変更は高速で柔軟性があり、非常に簡単です。これは、この強力なコマンドの詳細なガイドです。





mvで何が問題になっていますか?

mvに問題はありません。ただし、このコマンドは適切に機能します。また、すべてのLinuxディストリビューション、macOS、およびその他のUnixライクなOSで見つけることができます。ただし、いつでも利用できます。しかし確かに、シャベルは必要ありませんが、ブルドーザーは必要です。



コマンドmv人生には目的があり、それはファイルを移動することです。古いファイルを移動するために使用できるのは安全な副作用です 新しい名前の新しいファイル。その結果、ファイルの名前が変更されるため、必要なものを取得できます。だが mv カスタマイズファイル名変更ツールではありません。

mvで単一ファイルの名前を変更する方法

Linuxでファイルの名前を変更する



mvを使用する場合ファイルの名前を変更するには、次のように入力します mv、 スペース、ファイル名、スペース、およびファイルに付ける新しい名前。次に、Enterキーを押します。



lsも使用できますファイルの名前が変更されるかどうかを確認します

mv rename

mvで複数のファイルの名前を変更する方法

複数のファイルの名前を変更すると、事態は複雑になります。 perl-renameさまざまなファイルの名前変更を処理する機能はありません。いくつかの便利なBashトリックを使用する必要があります。中程度のコマンドラインfuを知っていると便利ですが、次のコマンドで別のファイルの名前を変更するのは困難です。 mv 使いやすさだけを意味します mv 単一のファイルの名前を変更します。



物事は即座にエスカレートします。



ここに、さまざまなタイプの多数のファイルが含まれているディレクトリがあるとします。一部のファイルには .prog 拡張。コマンドラインでこれらのファイルの名前を変更して、 .prg 拡張。

ファイルを見てみましょう。

rename

実際のBashスクリプトファイルを作成することに頼ることができない、それを行う1つの方法があります。

rename

それは機能しましたか?ファイルを確認して、さらに先に進みましょう。

rename

だから、それはうまくいきます。それらはすべてです .prg 今ファイル、そしてありません .prog ディレクトリ内のファイル。

どうした?

長いコマンドは実際に何をしましたか?それをチェックしよう。

prename

最初の部分は、すべてを処理するループを開始します .prog ディレクトリ内のファイルを順番に。

別の部分は、処理がどうなるかを示しています 行う 。それは使用しています mv 各ファイルを新しい1つのファイルに移動します。新しいファイル名は、.prog部分を除いて、元のファイルの名前と非常によく似ています。また、.prgの拡張子が使用されます。

これが簡単な方法です

確実に。これが 名前を変更 コマンド。

Linuxでファイルの名前を変更する

これは標準のLinuxディストリビューションの一部ではないため、インストールする必要があります。また、Linuxのさまざまなファミリで異なる名前が付けられていますが、すべて同じように機能します。使用しているLinuxの好みに応じて、正しいコマンド名に置き換えるだけです。

Debianから派生したディストリビューションまたはUbuntuディストリビューションでは、perl-renameをインストールするだけです。このような:

*.prog

RedHatから派生したディストリビューションまたはFedoraでは、インストールするだけです。 プレネーム このような。最初のpはPerlを表すことを忘れないでください。

rename

Manjaro Linuxにインストールするには、次のコマンドを使用します。名前の変更コマンドはsとして知られていることに注意してください。

.prog

名前の変更コマンドを使用->もう1つ試してみましょう

ここではrenameを使用します。これを行って、一連の.progファイルを作成します。

.prg

以下のコマンドを使用して名前を変更しましょう。また、 ls それが機能したかどうかをコマンドします。代用したい場合rename UbuntuまたはDebianから派生したLinuxを使用できない場合は、Linuxの正確なコマンド名を使用します。

ls ls

それはうまく機能します、今それらはすべて.prgファイルです .prog ディレクトリに残っているファイル。

ここで何が起こったのですか?

3つのパートで説明しましょう。

の中に 最初 一部では、コマンド名renameが表示されます。 (または、他のディストリビューションの場合はlsまたはls)。

第3 最終 一部は^で、これは$を説明しています。すべての.progファイルを操作します。

ザ・ 2番目 一部では、各ファイル名で実行したい作業について説明しています。 ^代用を意味します。第1項(ls)はlsです各ファイル名で検索し、2番目の用語(ls)が置き換えられます。

Windowsはグループポリシーに接続できませんでした

コマンドの中間部分または中央式はPerlの「正規表現」であり、s/を提供します。その信頼性を命じる。

ファイル名の他の部分の変更

これまでにファイル名拡張子を変更しました。ファイル名の他の部分を変更しましょう。

ディレクトリには、多くのCソースコードファイルがあります。すべてのファイル名の前には スラング_。 これはy/で確認することもできます。

a-z

ここでは、出現するすべてのslang_をsl_に置き換えます。コマンド形式は私たちにとって非常に馴染み深いものです。検索語、置換語、ファイルの種類を変更するだけです。

A-Z

ここでは、.cファイルを検索し、slang_を探しています。ファイル名にslang_が見つかった場合は、sl_に置き換えられます。

コマンドを繰り返した後、コマンドの結果を確認することもできますls同じパラメータを使用して上から:

a-z

ファイル名の一部を削除する

検索語を何も置き換えずにファイル名の一部を削除することもできます。

mv oldfile.txt newfile.txt

から見ることもできます ls 私たちの .c ファイルにはすべてsl_が付加されます。それを完全に残しましょう。

ザ・ 名前を変更 コマンドは上記と同じ形式に従います。 .cファイルを検索します。検索語はsl_ですが、置換語はありません。間に何も含まれていない2つの円記号「//」は、空の文字列を意味します。

ls *.txt
各.cファイルを順番に処理できます。また、ファイル名でsl_を検索します。あなたがそれを見つけた場合、あなたは何にも置き換えることができません。または、検索語が削除されます。

ls *.prog -l
の別の使用法コマンドは、sl_プレフィックスがすべての.cファイルから消去されたことを確認します。

制限はファイル名の特定の部分に変更されます

さあ、

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
を使いましょうファイル名に文字列paramが含まれているファイルを表示します。次に、 名前を変更 文字列パラメータを介して文字列を置き換えるコマンド。また、 ls もう一度効果を確認するには 名前を変更 コマンドはそれらのファイルにありました。

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

次に、次の4つのファイルを表示します 停止 ファイル名に。 param.c、param_one.c、およびparam_two.cはすべて 停止始まり 彼らの名前の。 third_param.cには 停止最終 その名前の、拡張子の直前。

あなたは検索することができます 名前を変更 ファイル名のどこでもparamのコマンド。その後、すべての場合にパラメータで置き換えることができます。

別の用途 ls コマンドは、何が起こったかを正確に表示します。かどうか 停止 ファイル名の最初または最後にありました。に置き換えることもできます パラメータ。

Perlのメタ文字を使用して、中央の式の動作を浄化できます。メタ文字は、文字のシーケンスまたは位置を表す記号です。たとえば、

sudo dnf install prename
文字列の開始を意味し、 (。) (改行文字以外の)任意の1文字を意味します
sudo pacman -Syu perl-rename
文字列の終わりを意味します。

また、文字列メタ文字の先頭(

ls *.prog
)を使用して、検索をファイル名の先頭に限定します。

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

名前を変更したファイルは以前にリストされています。また、文字列パラメータが3つのファイル名の先頭にあり、いずれかのファイル名の末尾にあることを確認できます。

私たちの 名前を変更 コマンドは、検索語パラメーターの前に行のメタ文字(^)の先頭を使用します。検索語がファイル名の先頭にある場合は、検索語を検討するだけであると説明しています。検索文字列パラメータは、ファイル名の他の場所にある場合は回避されます。

ls sl*.c
で見ると、パラメータを持つファイル名が 最終 ファイル名の変更はありません。しかし、パラメータを持つ3つのファイル名 始まり 検索文字列が代替用語の値に置き換えられた名前の。

ザ・ 名前を変更 力はPerlの力にあります。

グループ化で見る

これは、名前に同じ文字列が含まれるファイルがある可能性がある場合です。それらはまったく同じ文字列に類似しているわけではないため、ここで検索するだけでは置換は機能しません。

この例では、

ls *.c rename 's/sl_//' *.c ls *.c
を使用しますstrで始まるファイルを表示します。また、string.cとstrangle.cの2つがあります。グループ化と呼ばれる方法を使用した後、両方の文字列の名前を変更することもできます。

の真ん中の表現 名前を変更 コマンドは、文字シーケンスを持つファイル名内の文字列を検索します stri または stra。 ここでは、これらのシーケンスの後にngが続きます。または、検索語で文字列を検索します そして ストラン。置換項は バン。

ls *param*
rename 's/param/parameter' *.c
ls *param*

ls *param*.c
を使用した後また、string.cがbang.cになり、strangle.cがbangle.cになったことを確認します。

翻訳でrenameコマンドを使用する

ザ・ 名前を変更 コマンドは、翻訳と呼ばれるファイル名に対してすべてのアクションを実行します。これは、ファイル名のセットを大文字に強制する翻訳の例です。

の中に 名前を変更 以下のコマンドは、

rename 's/^parameter/value/' *.c
を使用していないことに注意してください。真ん中の式を始めるために、
ls *param*.c
を使用しています。コマンドは置換を実行できないことを説明しています。翻訳を行っています。

用語

ls value*.c
Perl式です。これは、aからzまでのシーケンス内のすべての小文字を意味します。しかし、用語
ls str*.c
AからZまでのシーケンスのすべての大文字を表します。

このコマンドの真ん中の式は、ファイル名にaからzまでの小文字が含まれているかのように言い換えることができます。 AからZまでの大文字の順序で対応する文字を使用してそれらを置き換えます。

すべての.prgファイルのファイル名を強制的に大文字にする場合は、次のコマンドを使用するだけです。

名前を「y / a-z / A-Z /」に変更* .prg

rename 's/(stri|stra)ng/bang/' *.c

コマンド

ls ban*.c
すべての .prg 拡張ファイルは大文字になりました。また、厳密に言うと、そうではありません .prg もうファイル。ええと、それらは.PRGファイルです。 Linuxで大文字と小文字が区別されることを確認してください。

ls *.PRG
の位置に戻った後、最後のコマンドを元に戻すこともできます。真ん中の式のA-Z項。

名前を「y / A-Z / a-z /」に変更* .PRG

ls * .prg

5分でPerlを学ぶことはできません

Perlを理解することは、十分に費やされた時間です。しかし、の時間節約機能の使用を開始するには 名前を変更 コマンドを実行すると、Powerの大きな利点を享受するためのPerlの知識がまったくないように見えます。

結論:

ここでは、「Linuxでrenameコマンドを使用する」について説明します。それについてどう思いますか?記事に関する他の方法やヒントを共有したい場合は、以下にお知らせください。さらに質問や質問がある場合は、下のコメントセクションでお知らせください。

また読む: