Mam plik, który wygląda mniej więcej tak:
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
Jak widać, każda linia ma nieco inną liczbę kolumn. W szczególności chcę kolumnę 1, kolumnę 2, kolumnę 3, kolumnę 4 i kolumnę, która zaczyna się odANC=
Pożądane wyjście:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
Zazwyczaj używam polecenia awk do analizowania plików:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
Czy istnieje prosty sposób na zmianę tego polecenia, aby działało w takich sytuacjach?
Myślę, że coś takiego może działać:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
Jak mogę to jednak edytować, aby wydrukować również pierwsze kolumny?
i=5
zrobić?