Extraction de champs avec awk

eric_s -  
 sparc2000 -
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.
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il faut faire une boucle {for(i=1;i<4;i++)print $i}
    1
    1. sparc2000
       
      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
  2. birkamoi Messages postés 5 Statut Membre
     
    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