파일 열의 일부 행을 삭제하시겠습니까?

파일 열의 일부 행을 삭제하시겠습니까?

아래와 같은 파일이 있습니다.

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

또한 시도

awk '{sub ("_" $3 "_" $4, "", $1)} 1' file

관련 정보