ファイル拡張子なしでファイル名を変更する

ファイル拡張子なしでファイル名を変更する

KLLxxxx数字を表す)という名前の一連のファイルがあります。テキストファイルですが、ファイル拡張子はありません。それはKLLファイルの後に3桁の数字が来るだけです。私はそれらがすべてファイル拡張子で終わりたいと思います.fastqKLL123->のようなKLL123.fastq

だから私はこのコマンドを試しました。

mv KLL* KLL*.fastq

しかし、引き続きエラーメッセージが表示されます。

mv: target 'KLL067.fastq' is not a directory

名前変更コマンドの機能について知っていますが、以前にPerlを使用したことがないため、これを処理する方法がわかりません。私はこれが基本的な質問であることを知っていますが、これはLinuxを初めて試しています。

ベストアンサー1

prename...Perl式を使用して名前を変更します。次のコマンドはファイルリスト(KLL *)を取得します。各ファイルのKLLのフルネームと3つの数字(KLL\d{3}))を取得し、特殊な名前付き変数に保存します$1s式の先頭にあるtheは、最初の2つのグループの間にある項目を//2番目のグループの間にある項目に「置き換える」という意味です。これは完全なファイル名で、ここに$1追加されます。.fastq

prename 's/(KLL\d{3})/$1.fastq/' KLL*

おすすめ記事