Séparateur awk

teska957 -  
 teska957 -
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   Statut Contributeur Dernière intervention   6 431
 
Salut,

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