Tôi có một tập tin trông giống như thế này:
ID101 G T freq=.5 nonetype ANC=.1 addinfor
ID102 A T freq=.3 ANC=.01 addinfor
ID102 A T freq=.01 type=1 ALT=0.022 ANC=.02 addinfor
Như bạn có thể thấy, mỗi dòng có số lượng cột hơi khác nhau. Tôi đặc biệt muốn cột 1, cột 2, cột 3, cột 4 và cột bắt đầu bằngANC=
Kết quả mong muốn:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
Tôi thường sử dụng lệnh awk để phân tích các tệp:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
Có cách nào dễ dàng để thay đổi lệnh này để làm việc cho các tình huống như thế này không?
Tôi nghĩ một cái gì đó như thế này có thể làm việc:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
Tuy nhiên, làm thế nào tôi có thể chỉnh sửa điều này để in các cột đầu tiên?
i=5
làm gì?