ฉันมีไฟล์ที่มีลักษณะดังนี้:
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
อย่างที่คุณเห็นแต่ละบรรทัดมีจำนวนคอลัมน์แตกต่างกันเล็กน้อย ฉันต้องการคอลัมน์ 1 คอลัมน์ 2 คอลัมน์ 3 คอลัมน์ 4 และคอลัมน์ที่ขึ้นต้นด้วยANC=
ผลลัพธ์ที่ต้องการ:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
ฉันมักจะใช้คำสั่ง awk เพื่อแยกไฟล์:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
มีวิธีง่าย ๆ ในการแก้ไขคำสั่งนี้ให้ทำงานในสถานการณ์เช่นนี้หรือไม่?
ฉันคิดว่าบางสิ่งเช่นนี้อาจใช้งานได้:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
อย่างไรก็ตามฉันจะแก้ไขสิ่งนี้เพื่อพิมพ์คอลัมน์แรกได้อย่างไร
i=5
ทำอะไร?