Ich habe eine Datei, die ungefähr so aussieht:
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
Wie Sie sehen können, hat jede Zeile eine leicht unterschiedliche Anzahl von Spalten. Ich möchte speziell Spalte 1, Spalte 2, Spalte 3, Spalte 4 und die Spalte, die mit beginntANC=
Gewünschte Ausgabe:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
Im Allgemeinen verwende ich den Befehl an awk, um Dateien zu analysieren:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
Gibt es eine einfache Möglichkeit, diesen Befehl so zu ändern, dass er in solchen Situationen funktioniert?
Ich denke so etwas könnte funktionieren:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
Wie kann ich dies jedoch bearbeiten, um auch die ersten Spalten zu drucken?
i=5
tun?