![現在のディレクトリにある特定の拡張子を持つすべてのファイルの名前を別の拡張子に変更するには? [コピー]](https://linux33.com/image/23550/%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E3%81%82%E3%82%8B%E7%89%B9%E5%AE%9A%E3%81%AE%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%82%92%E6%8C%81%E3%81%A4%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%90%8D%E5%89%8D%E3%82%92%E5%88%A5%E3%81%AE%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
重複の可能性:
複数のファイル名を変更する(拡張子の変更)
現在/作業ディレクトリに5つのファイルがあるとしましょう。
file1.xvg
file2.xvg
file3.xvg
file1.eps
file2.eps
現在/作業ディレクトリのすべてのファイル名を拡張子に変更する方法はありますか?.xvg新しい拡張機能を提供してください。。 txt(去る.1株当たり純利益別のファイル)?rename
、またはを使用してこれmv
を実行できますかmmv
?私はUbuntu Linuxを使用しています。ありがとうございます!
答え1
特定の問題の場合、このコマンドは機能します。提案された名前の変更に満足していることを確認してから、削除して-n
続行してください。
rename -n 's/\.xvg$/.txt/' *.xvg
これは、デフォルトでは、現在のディレクトリ内の拡張子を持つすべてのファイルに対して.xvg
()で終わるファイルを見つけ、名前の対応する部分を 。$
.xvg
.txt
詳細と例を以下に示します。
はい、このrename
コマンドはそのタスクを実行します。ディレクトリ内の他のファイルを無視し、.html
すべてのファイルの名前を拡張子に変更する簡単な例です。.html_bak
私はできます。強く-n
コマンドラインオプションを使用することをお勧めします最初(以下の説明を参照)実際のコマンドを実行する前に、変更内容を確認してください。
私は次のように始めました。
$ 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
。
詳細については、名前変更のマニュアルページを参照してください。
答え2
これは次のように行うことができます。
rename 's/xvg$/txt/' *.xvg
globモードでは、*.xvg
ファイルだけが影響を受けます。