Je dois extraire un paramètre d'un fichier de configuration et remplacer ses valeurs par une autre valeur donnée. Le fichier de configuration est la suivante:Regex: Aide pour extraire un fichier du texte et remplacer la valeur du champ
<host ip="200.200.200.200" name="testhost" description="test server" type="TEST_Duplex " connection="xmlrpc" xmldefaulttimeout="2.0" xmlspecifictimeout ="8.0"/>
je dois remplacer la valeur de xmldefaulttimeout="2.0"
avec une autre valeur, par exemple: xmldefaulttimeout="4.0"
. Comme dans le texte, xmldefaulttimeout = "2.0", mais en fait, la valeur "2.0" n'est pas certaine. Ce peut être une autre valeur incertaine. Donc je dois grep la valeur de xmldefaulttimeout et la remplacer par une autre valeur donnée (par exemple: 4.0). Je pense que je dois utiliser sed ou awk. Mais je suis désolé mes commandes essayées ne peuvent pas réaliser ceci. Quelqu'un pourrait-il m'aider avec ça? Merci! Je suis désolé, je commence juste à apprendre shell :-)
est-il en utilisant des expressions régulières avec un shell ** doit **? Avez-vous accès à un langage de script avec des outils XML, disons Perl/Python/Ruby? N'importe lequel d'entre eux peut rendre votre travail beaucoup plus facile. Juste une pensée. –
Manoj, merci. Je pense que l'utilisation d'expressions régulières avec shell est un must. Merci pour vos suggestions. Je vais les étudier ensuite. – zhaojing
Pourquoi cette question? Vous avez posté une question assez similaire il y a 2 heures (http://stackoverflow.com/questions/3581169/shell-how-to-replace-something-of-a-text-with-the-saved-variable-value) – maxschlepzig