私のLinuxコンピュータには、次のファイル名を持つファイルがたくさんあります。
Veillonella-sp.-AF13-2-AF13-2.Scaf1.faa
Weissella-cibaria-strain-AM27-24-AM27-24.Scaf1.faa
Streptococcus-salivarius-strain-AF24-6AC-AF24-6AC.Scaf1.faa
ファイル名の一部が繰り返されます。ただユニークな名前が欲しいです。このファイル名を編集して、次の内容だけを含めたいと思います。
Veillonella-sp.-AF13-2.faa
Weissella-cibaria-strain-AM27-24.faa
Streptococcus-salivarius-strain-AF24-6AC.faa
このファイル名を編集する方法を教えてください。
私のLinuxディストリビューションはCentOSです。
ありがとうございます!
答え1
Perlを使用して実装されましたrename
:
rename -v 's/(-\w+?-\d+?)\1/$1/' *.faa
これにより、-word-digits
現在のディレクトリから一致するファイル名の重複エントリが削除されます。*.faa
-\w+?-\d+?
つまり、一致し、次に-word-digits
同じ文字列を再一致してこれを実行します。これらの一致は文字列の最初のインスタンスにのみ置き換えられます。
答え2
rename 's/-2-AF13-2.Scaf1.//' *.faa