完全に自信があるわけではありませんが、mv
と(asrename
で)の違いは何ですか?正規表現を許可し、正規表現を許可しないことに加えて、どちらかの利点がありますか?私は同時に複数のファイル名を変更することも可能だと思いますが、そうしないでください。util-linux-ng 2.17.2
/usr/bin/rename
rename
mv
rename
mv
man
私は彼らのページで、または自分自身の調査を通して、他の何がそれらをユニークにするかについての明確な表示を見つけることができません。
ベストアンサー1
どちらも基本的にふたに書かれた内容です。
mv
標準ユーティリティです到着移動する1 つ以上のファイルを指定された宛先に送信します。移動するファイルが1つしかない場合は、ファイルの名前を変更するために使用できます。複数のmv
場合、ターゲットがディレクトリの場合にのみ機能し、ファイルをそこに移動します。
したがって、mv foo bar
ファイルをfoo
ディレクトリに移動するかbar
(存在する場合)、名前を変更しますfoo
(bar
存在bar
しない場合、またはディレクトリではない場合)。mv foo1 foo2 bar
2つのファイルだけがそのディレクトリに移動され、ディレクトリでbar
はbar
ない場合は警告が発生します。
mv
ファイルを移動するためにCライブラリ関数が呼び出されrename()
、機能しない場合(別のファイルシステムに移動)、ファイルをコピーして元のファイルを削除します。
複数のファイルの名前を変更することがすべての場合は、mv
シェルループを使用する必要があります。ウェブサイトにこれに関する質問がたくさんあります。これ、これ、他の人。
一方、各種rename
公益事業名前を変更するファイルを個別に。
rename
ユーティリティLinuxから記載されている内容は、およびにrename foo bar *
変更するなどの単純な文字列置換を実行します。foobar
barbar
asdffoo
asdfbar
もちろんいいえただし、正規表現を使用してください!
Perlの名前変更ユーティリティ(またはそれに伴う様々なケース)はPerl式を使用してファイル名を変換します。次のコマンドを使用する可能性が最も高いです。s/pattern/replacement/
模様 はい正規表現。
util-linux の名前変更と Perl の名前変更はどちらも、ファイル名を適切に変更してファイルを別のディレクトリに同時に移動するために使用できますが、これは少し厄介です。両方ともrename()
ファイルを呼び出すので、あるファイルシステムから別のファイルシステムに移動することは機能しません。
rename
あなたが持っているものが何であるかについては、ディストリビューションによって異なる場合がありますおよび/またはあなたがインストールしたコンテンツ。ほとんどはサポートされているので、rename --version
それを使用して何を持っているかを確認してください。