Modifier une ligne dans un .bat [Sed] - Shell/Batch - Programmation
Marsh Posté le 12-12-2007 à 10:20:15
ça a l'air puissant sed... tellement puissant qu'on arrive pas a le faire marcher !
Marsh Posté le 12-12-2007 à 10:30:29
man sed dans google pour avoir de la doc
Sinon je n'ai pas bien compris : tu veux remplacer quelle chaîne par quelle autre ?
Dans ton exemple, tu veux remplacer les lignes contenant "2d" par "computername=...." ?
Marsh Posté le 12-12-2007 à 10:50:25
Je l'ai lu la doc, c'est ça qui m'inquiète...
Pour simplifier, je veux remplacer :
"computername=123456ghost" où 123456 est aléatoire,
par
"computername=%rand%ghost" ou la variable %rand% contient un chiffre aléatoire générée précédemment.
Marsh Posté le 12-12-2007 à 10:58:45
Essaie avec :
sed "s/computername=[0-9]*ghost/computername=%rand%ghost/" ton_fichier > nouveau_fichier |
Marsh Posté le 12-12-2007 à 11:40:24
Ca roule en effet ! Comment résumer 3h de tests en 1 mn!
Pour faire le remplacement en place dans le fichier, j'ai essayé :
Code :
|
mais ca fait le remplacement à l'écran et non dans le fichier...
Marsh Posté le 12-12-2007 à 11:44:00
Tu ne peux pas remplacer directement dans le fichier. Même les quelques utilitaires qui te le proposent écrivent en fait dans un fichier temporaire, qu'ils utilisent ensuite pour remplacer l'ancien fichier.
Donc le plus simple, c'est de faire le sed > nouveau_fichier, suivi d'un move nouveau_fichier ancien_fichier.
Marsh Posté le 12-12-2007 à 12:19:44
Bon tout marche nickel, merci à toi !
Pour info voila mon script :
Code :
|
Marsh Posté le 11-12-2007 à 15:26:51
Je cherche a remplacer une ligne par une autre a l'aide de sed et je galère pour trouver la syntaxe.
Je m'explique. J'ai un fichier NETWORK.INI dans lequel je dois modifier une ligne (en fait changer le nom de la machine) a partir de mon autoexec.bat : "computername=123456ghost" où 123456 est une chaîne aléatoire générée dans une variable %rand% par un fichier random.exe qui lui marche bien.
Le code concerné dans mon .bat :
Message édité par r@phblues le 11-12-2007 à 15:27:18
---------------
Tibet libre !