Séparateur awk

Fermé
teska957 - 30 août 2011 à 19:06
 teska957 - 30 août 2011 à 19:39
Bonjour,
étant newbie sur Linux, j'ai un fichier formaté comme ci dessous


machine-r1;http :50000-51999
machine-r2;xwindow :6000-6005
machine-r3;jms :58000-58999


et je souhaite l'exploiter pour pour l'afficher sous cette forme sans les ";" et les ":", jusque là ça va j'arrive à m'en sortir en faisant un cat fic.txt |awk 'BEGIN { FS="[;:]" }{ print $1, $2}' mais je souhaite aussi sans les "-" mais uniquement pour la plage de ports et garder ces "-" pour les hostnames


de manière à avoir le résultat ci-dessous

machine-r1 http 50000 51999
machine-r2 xwindow 6000 6005
machine-r3 jms 58000 58999

Connaissez-vous donc un moyen de le faire avec awk de préférence?

Merci d'avance

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
30 août 2011 à 19:19
Salut,

awk 'BEGIN { FS="[;:]" } sub(/-/," ",$3) { print $1,$2,$3 }' fichier
0
C'est parfait merci pour ta réactivité.
0