Besoin d'aide sur awk (boucle et condition)
Résolu
azuspam
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Besoin d'aide sur awk (boucle et condition)
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Huawei s'allume et s'éteint en boucle - Forum Huawei
2 réponses
hello
avec awk
avec awk
$ awk -v RS=" " -v FS='[="]' '/^name/ {printf $3 ":"} /^host/ {print $3}' fichier
appname:localhost
Salut,
Par rapport à ce que tu fournis comme explications, cette syntaxe à base de sed pourrait faire l'affaire :
Mais, comme on n'a pas d'exemples concernant les éventuels champs manquants ou vides, je doute que ça fasse ce que tu veux ;-\
Par rapport à ce que tu fournis comme explications, cette syntaxe à base de sed pourrait faire l'affaire :
$ cat fich
<Application name="appname" frequency="D" status="down" host="localhost" date="tomorrow" maurice="toto" tata="youpi" titi="poutou">
<blabla name="appname" frequency="D" status="down" host="localhost" date="tomorrow" maurice="toto" tata="youpi" titi="poutou">
<Application name="nouveau_nom" frequency="D" status="down" host="toto" date="tomorrow" maurice="toto" tata="youpi" titi="poutou">
$ sed -rn '/^<Application name=/{s/.*name="([^"]*)".*host="([^"]*)".*/\1:\2/p}' fich
appname:localhost
nouveau_nom:toto
Mais, comme on n'a pas d'exemples concernant les éventuels champs manquants ou vides, je doute que ça fasse ce que tu veux ;-\
Bon... Pourquoi faire compliqué quand on peut faire simple :-)
Merci c'est exactement le résultat que je cherchais, je pensais pas que je pouvais aller aussi loin avec sed.
Si ça peut aider d'autres personnes, mon erreur provenait du fait que j'utilisais print et non pas printf, je viens de trouver comment faire avec awk, donc je pourrais rajouter les conditions dont j'ai besoin.
En tout cas Merci UnGnU.
Merci c'est exactement le résultat que je cherchais, je pensais pas que je pouvais aller aussi loin avec sed.
Si ça peut aider d'autres personnes, mon erreur provenait du fait que j'utilisais print et non pas printf, je viens de trouver comment faire avec awk, donc je pourrais rajouter les conditions dont j'ai besoin.
En tout cas Merci UnGnU.