重複の可能性:
複数のファイルの名前を変更する(拡張子を変更する)
現在の/作業ディレクトリに5つのファイルがあるとします。
file1.xvg
file2.xvg
file3.xvg
file1.eps
file2.eps
現在/作業ディレクトリ内のすべてのファイルの名前を拡張子。xvgにして、新しい拡張子。txt(を残す)を付ける方法はありますか? .epsファイルのみ)?これは、おそらくrename
、mv
、またはmmv
で実行できますか?私はUbuntuLinuxを使用しています。ありがとう!
特定の質問に対して、このコマンドは機能します。提案された名前変更に満足していることを確認してから、-n
をドロップして操作を続行します。
rename -n 's/\.xvg$/.txt/' *.xvg
これは基本的に、現在のディレクトリで拡張子が.xvg
のすべてのファイルについて、($
)で終わるファイルを.xvg
で見つけ、名前のその部分を.txt
に変更することを意味します。
詳細と以下の例。
はい、rename
コマンドがこれを行います。ディレクトリ内の他のファイルを無視して、拡張子が.html
のすべてのファイルの名前を.html_bak
に変更する短い例。
強く-n
コマンドラインオプションfirst(以下で説明)実際のコマンドを実行する前にどのような変更が行われるかを確認します。
私が始めたもの:
$ ls
a.html a.txt b.html htmlfile
-n
は、「試運転」を行うことを意味します..何が変わるかを示すだけで、何も変更しないでください。
$ rename -n 's/\.html$/.html_bak/' *
a.html renamed as a.html_bak
b.html renamed as b.html_bak
元のファイルはまだあります。
$ ls
a.html a.txt b.html htmlfile
今実際に:
$ rename 's/\.html$/.html_bak/' *
ファイルの名前が変更されました。
$ ls
a.html_bak a.txt b.html_bak htmlfile
上記の例では、*
を使用して、名前変更操作の対象となるファイルを指定しています。これを.html
ファイルのみに*.html
で制限することもできます。
詳細については、名前の変更のマニュアルページを参照してください
これは次のように実行できます。
rename 's/xvg$/txt/' *.xvg
グロブパターンは、*.xvg
ファイルのみが影響を受けることを保証します。