Saya memiliki file yang terlihat seperti ini:
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
Seperti yang Anda lihat, setiap baris memiliki jumlah kolom yang sedikit berbeda. Saya secara khusus menginginkan kolom 1, kolom 2, kolom 3, kolom 4 dan kolom yang dimulai denganANC=
Output yang diinginkan:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
Saya biasanya menggunakan perintah awk untuk mem-parsing file:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
Apakah ada cara mudah untuk mengubah perintah ini agar berfungsi untuk situasi seperti ini?
Saya pikir sesuatu seperti ini mungkin berhasil:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
Namun, bagaimana saya bisa mengedit ini untuk juga mencetak kolom pertama?
i=5
dilakukan?