我有一个如下文件。
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