Awk et délimiteur
Résolu
raymond
-
MyTux Messages postés 228 Statut Membre -
MyTux Messages postés 228 Statut Membre -
Bonjour,
J'ai un soucis avec un petit script
Mais parfois, argument3 est marqué comme ça : argu-ment-3 et du coup :
Comment faire pour obtenir l'argument en entier svp ? J'ai essayé de changer le délimiteur pour ", ', ', | mais ça ne passe pas dans mon script (qui est lié à un script ajax et autres).
Existe-t-il une recette simple pour résoudre mon soucis.
Merci
J'ai un soucis avec un petit script
$ cat fichier
argument1-argument2-argument3
$ cat fichier | awk -F '-' '{ print $3 }'
argument3
Mais parfois, argument3 est marqué comme ça : argu-ment-3 et du coup :
cat fichier | awk -F '-' '{ print $3 }'
argu
Comment faire pour obtenir l'argument en entier svp ? J'ai essayé de changer le délimiteur pour ", ', ', | mais ça ne passe pas dans mon script (qui est lié à un script ajax et autres).
Existe-t-il une recette simple pour résoudre mon soucis.
Merci
J'ai essayé de changer le délimiteur au moment ou le fichier est créé (script ajax) mais ça ne fonctionnait pas. Vu comme j'ai eu du mal à faire fonctionner ce script ajax, j'aurais préféré intervenir sur la commande awk directement. Je me suis dit qu'il y avait peut-être moyen de dire à la commande qu'après le second délimiteur c'est terminé ?
Alors essaie ainsi:
awk -F"-" '{print $1}' fichier$1 = 1er Arg
$2 = 2em Arg
...
$n = Nem Arg
Bien à toi,
MyTux.
Et les 2 premiers champs sont délimités par un tiret, sans que rien n'interfère comme dans le 3ème chanp ?
$ cat fichier argument1-argument2-argument3 argument1-argument2-arg-ume-nt3 $ sed ':z;s/-/,/3;tz' fichier | awk -F'-' '{print $3}' argument3 arg,ume,nt3;-))