J'ai un fichier qui ressemble à ceci:
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
Comme vous pouvez le voir, chaque ligne a un nombre légèrement différent de colonnes. Je veux spécifiquement la colonne 1, la colonne 2, la colonne 3, la colonne 4 et la colonne qui commence parANC=
Sortie désirée:
ID101 G T freq=.5 ANC=.1
ID102 A T freq=.3 ANC=.01
ID102 A T freq=.01 ANC=.02
J'utilise généralement la commande an awk pour analyser les fichiers:
awk 'BEGIN {OFS = "\t"} {print $1, $2, $3, $4}'
Existe-t-il un moyen simple de modifier cette commande pour qu'elle fonctionne dans des situations comme celle-ci?
Je pense que quelque chose comme ça pourrait fonctionner:
awk '{for(j=1;j<=NF;j++){if($j~/^ANC=/){print $j}}}'
Cependant, comment puis-je modifier cela pour imprimer également les premières colonnes?
i=5
il?