Extractions avec sed et/ou autres outils
dp403aan
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
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 -
Bonjour à tous et à toutes,
j'ai un fichier de config qui se présente de la sorte :
[Software\BigFix\EnterpriseClient\Settings\Client\__RelayServer1]
effective date = Tue,%2024%20Apr%202008%2011:37:35%20+0200
value = http://10.244.254.34:52311/bfmirror/downloads
[Software\BigFix\EnterpriseClient\Settings\Client\__Client_Role_090024]
value = 0
[Software\BigFix\EnterpriseClient\Settings\Client\__RelaySelect_Automatic]
value = 0
effective date = Mon,%2006%20Jun%202006%2015:05:03%20+0200
je souhaiterais récupérer proprement les valeurs 10.244.254.34 et 0 comme indiquées, afin de pouvoir les remplacer dans un second temps.
J'y arrive un peu en "bricolant" avec sed en le faisant via un début script à travers des variables,
mais ce n'est pas terrible, peut-être devrais-je utiliser d'autres outils sinon ? :
en vous remerciant par avance pour votre aide,
++
Cordialement,
dp403aan
j'ai un fichier de config qui se présente de la sorte :
[Software\BigFix\EnterpriseClient\Settings\Client\__RelayServer1]
effective date = Tue,%2024%20Apr%202008%2011:37:35%20+0200
value = http://10.244.254.34:52311/bfmirror/downloads
[Software\BigFix\EnterpriseClient\Settings\Client\__Client_Role_090024]
value = 0
[Software\BigFix\EnterpriseClient\Settings\Client\__RelaySelect_Automatic]
value = 0
effective date = Mon,%2006%20Jun%202006%2015:05:03%20+0200
je souhaiterais récupérer proprement les valeurs 10.244.254.34 et 0 comme indiquées, afin de pouvoir les remplacer dans un second temps.
J'y arrive un peu en "bricolant" avec sed en le faisant via un début script à travers des variables,
mais ce n'est pas terrible, peut-être devrais-je utiliser d'autres outils sinon ? :
#!/bin/bash # Variables OPT=/var/opt/BESClient CONF=/var/opt/BESClient/besclient.config # Fonctions changer_relai1() { echo -e "Valeur actuelle du RelayServer1 :\n" $(echo $(sed -n '/__RelayServer1/{n;n;p}' ${CONF})) read -p "Saisir la nouvelle valeur du RelayServer1 : " RELAI sed -i 's#//.*:#//'${RELAI}':#' ${CONF} # bricolage echo -e "Nouvelle valeur du RelayServer1 :\n" $(echo $(sed -n '/__RelayServer1/{n;n;p}' ${CONF})) } changer_select() { CHECK=$(sed -n '/__RelaySelect_Automatic/{n;p}' ${CONF} | awk '{print $3}') echo -e "\nValeur actuelle du RelaySelect_Automatic :\n" $(echo $(sed -n '/__RelaySelect_Automatic/{n;p}' ${CONF} | awk '{print $3}')) read -p "Saisir la nouvelle valeur du RelaySelect_Automatic : " AUTO sed -i 's/'${CHECK}'/'${AUTO}'/' ${CONF} echo -e "Nouvelle valeur du RelaySelect_Automatic :\n" $(echo $(sed -n '/__RelaySelect_Automatic/{n;p}' ${CONF})) }
en vous remerciant par avance pour votre aide,
++
Cordialement,
dp403aan
A voir également:
- Extractions avec sed et/ou autres outils
- Barre d'outils windows 10 - Guide
- Télécharger la barre d'outils google - Télécharger - Navigateurs
- Outils benchmark site web - Accueil - Utilitaires
- Outils de tableau word - Guide
- Application outils sim en double - Forum Orange
2 réponses
salut,
« ce n'est pas terrible »
qu'est-ce qui te choque ?
si ça fait ce que tu veux, à part les
...
« ce n'est pas terrible »
qu'est-ce qui te choque ?
si ça fait ce que tu veux, à part les
echoqui paraissent inutiles, et piper sed vers awk :(
...
hello
quel est le critère pour extraire le 2ème value= après 10.244.254.34 et pas le 1er ?
quel est le critère pour extraire le 2ème value= après 10.244.254.34 et pas le 1er ?
Bonjour,
ce fichier de configuration est composé de plusieurs petits blocs de 2-3 lignes,
en fait la ligne [Software\BigFix\EnterpriseClient\Settings\Client\__Client_Role_090024]
value = 0, n'a pas d'importance.
Pour la ligne contenant [Software\BigFix\EnterpriseClient\Settings\Client\__RelayServer1],
je souhaiterai matcher exactement ce qu'il y a entre value = http:// et :52311/bfmirror/downloads, à savoir "10.244.254.34", car selon les différentes machines, il peut y avoir comme valeur quelque chose comme "s00v09912345.apps.tech.net.infra".
Dans un second temps, concernant la ligne [Software\BigFix\EnterpriseClient\Settings\Client\__RelaySelect_Automatic], j'ai besoin de récupérer le 0 de la ligne value = 0
Cordialement,
dp403aan
ce fichier de configuration est composé de plusieurs petits blocs de 2-3 lignes,
en fait la ligne [Software\BigFix\EnterpriseClient\Settings\Client\__Client_Role_090024]
value = 0, n'a pas d'importance.
Pour la ligne contenant [Software\BigFix\EnterpriseClient\Settings\Client\__RelayServer1],
je souhaiterai matcher exactement ce qu'il y a entre value = http:// et :52311/bfmirror/downloads, à savoir "10.244.254.34", car selon les différentes machines, il peut y avoir comme valeur quelque chose comme "s00v09912345.apps.tech.net.infra".
Dans un second temps, concernant la ligne [Software\BigFix\EnterpriseClient\Settings\Client\__RelaySelect_Automatic], j'ai besoin de récupérer le 0 de la ligne value = 0
Cordialement,
dp403aan