awkまたはPerlを使用して文字列から特定のパターンを削除する方法は?

awkまたはPerlを使用して文字列から特定のパターンを削除する方法は?

[gene=xyzI]次の項目が複数ある場合、パターンのみを削除するにはどうすればよいですか?

>lcl|NZ_CP018664.1_gene_628 [gene=mscL] [locus_tag=AUO97_RS03160] [location=complement(694895..695326)]

私の出力は次のとおりです。

>lcl|NZ_CP018664.1_gene_628 [locus_tag=AUO97_RS03160] [location=complement(694895..695326)]

ベストアンサー1

簡単な交換のため -sed十分です:

sed -E 's/\[gene=[a-z]{3}[A-Z]\] *//' file

出力:

>lcl|NZ_CP018664.1_gene_628 [locus_tag=AUO97_RS03160] [location=complement(694895..695326)]

ファイルの変更「所定の位置に」- 追加された-iオプション:sed -i ....

おすすめ記事