括弧外の内容を削除する方法

括弧外の内容を削除する方法

以下は、「\ t」で区切られた2つの列を含む私のファイルです。

a    HK97 family prohead protease [Lomovskayavirus C31]
b    major capsid protein [Lomovskayavirus C31]
c    gp12 [Lomovskayavirus C31]
d    gp19 [Lomovskayavirus C31]
 

sedがこのようなファイルを取得できることを願っています。

a    Lomovskayavirus C31
b    Lomovskayavirus C31
c    Lomovskayavirus C31
d    Lomovskayavirus C31

コマンドを試しましたがうまくsed 's/.*[\(.*\)].*/\1/'いかないようです。それでは、何を変えるべきですか?ありがとうございます。

ベストアンサー1

すべてのUnixシステムのすべてのシェルでawkを使用してください。

$ awk -F '[][\t]' -v OFS='\t' '{print $1, $3}' file
a       Lomovskayavirus C31
b       Lomovskayavirus C31
c       Lomovskayavirus C31
d       Lomovskayavirus C31

おすすめ記事