Forum Programmation.shell Espace et tabulation comme séparateur de Awk

Posté par  .
Étiquettes : aucune
0
30
mar.
2006
Salut,

Un petit problème avec awk : je cherche à traiter
un fichier dont les lignes contiennent à la fois des espaces
et des tabulations mais en conservant uniquement
les tabulations comme séparateur de champ.

Or quand je fais tourner awk sur la chaine suivante avec le séparateur \t
(option -F "\t")

Je suis content\tJe suis sur le forum


Je trouve le résulat

Je


(dans le premier champ $1)

Le cas est-il connu?

boro

Mon code complet :

find . -name "text.txt" -exec awk '/.*/{
{
printf ("\x01%s\x01xx%s\n",$1,$1)
}
}' {} \;
  • # une solution

    Posté par  . Évalué à 2.

    L'utilisation de FS (et/ou RS) devraient t'aider ; exemple :


    awk 'BEGIN {FS=":|\t"} {print $1}' < /etc/passwd


    le | permet d'avoir comme séparateur de champs (FS: Field Separator) soit ":" soit une tabulation.
    • [^] # Re: une solution

      Posté par  . Évalué à 1.

      Merci pour le tuyau Arnaud,

      C'est un peu bizarre que le comportement de -F... soit différent de celui de FS=...

      A retenir donc.

      Boro

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.