Extraction de champs avec awk

Fermé
eric_s - 10 avril 2008 à 15:26
 sparc2000 - 10 mai 2011 à 16:45
Bonjour,
je veux extraire des colonnes à partir d'un fichier texte de ce type:

A 1 3 2 5 1...
B 2 1 5 7 8...
C 9 1 4 6 4...
...

mais au lieu d'indiquer $1,$2,$3... je voudrais spécifier un intervalle comme par exemple: $1-$3

j'utilse awk sous windows et il semble que la syntaxe est différence de cette que je connaissais sous linux comme par "tab" pour indiquer une tabulation alors que sous linux "\t" fonctionnait.

merci d'avance pour m'aider à solutionner ce problème.

2 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 620
30 avril 2009 à 15:33
hello
il faut faire une boucle {for(i=1;i<4;i++)print $i}
1
Avec la commande "print", chaque champ affiché est sur une ligne différente.
Avec la commande suivante, on a les différents champs sur la même ligne :
awk '{ for (x=3; x<=NF; x++) { printf "%s%c", $x, OFS } print "" }'
0
birkamoi Messages postés 3 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 30 avril 2009
30 avril 2009 à 14:00
salut,
Est ce que t'as trouvé comment on fait pour sélectionner un intervalle de champs avec AWK
Si qqn à la réponse.
Merci
0