特定の部分文字列の抽出

特定の部分文字列の抽出

次のファイルがあります。

RSID1 RSID2
chr1_169894240_G_T_b38  chr1_169894240_G_T_b38
chr1_169894240_G_T_b38  chr1_169891332_G_A_b38
chr1_169891332_G_A_b38  chr1_169891332_G_A_b38
chr1_169661963_G_A_b38  chr1_169661963_G_A_b38
chr1_169661963_G_A_b38  chr1_169697456_A_T_b38
chr1_169697456_A_T_b38  chr1_169697456_A_T_b38
chr1_27636786_T_C_b38   chr1_27636786_T_C_b38
chr1_196651787_C_T_b38  chr1_196651787_C_T_b38
chr6_143501715_T_C_b38  chr6_143501715_T_C_b38

次の情報を抽出したいと思いますchr1_169894240 chr1_169894240。私は他のことを知りたくありません。chr_pos長さが異なるため、この情報を抽出する方法は混乱します。ある場合には長さが9で、他の場合には長さが10である。したがって、cut特定の値を表示するためにコマンドを使用すると、作成された値が表示されますが、chr_pos一部の値は表示されません。chr_pos_誰でもこの問題を解決するのに役立ちますか?

ベストアンサー1

awkを使用してください:

awk 'NR >1 {split($1, array, "_"); print array[1] "_" array[2]; split($2, array, "_"); print array[1] "_" array[2]}' FILE

おすすめ記事