ファイル列の一部の行を削除しますか?

ファイル列の一部の行を削除しますか?

以下のファイルがあります。

1_2345_A_T 0.123 A T 0.0094
4_9784_C_G 0.00034 C G 0.924
10_536_AAAA_TGGTT 0.4456 AAAA TGGTT 0.00045
3_9874_C_T 0.55563 C T 0.8824
5_35555_A_T 0.123 A T 0.0094
....

3900万行があります。

以下のようなファイルを作成したいと思います。

1_2345 0.123 A T 0.0094
4_9784 0.00034 C G 0.924
10_536 0.4456 AAAA TGGTT 0.00045
3_9874 0.55563 C T 0.8824
5_35555 0.123 A T 0.0094
....

列の行の一部だけを削除したいです。よろしくお願いします!

ベストアンサー1

$ awk '{split($1,Arr,"_");$1=Arr[1]"_"Arr[2]}1' test.txt
1_2345 0.123 A T 0.0094
4_9784 0.00034 C G 0.924
10_536 0.4456 AAAA TGGTT 0.00045
3_9874 0.55563 C T 0.8824
5_35555 0.123 A T 0.0094

最初の列を_(アンダースコア)に分割し、最初の列を最初の2つの配列値に置き換えます。

おすすめ記事