[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Aide sur un script bash pour modifier un fichier texte



[email protected] (Pierre) writes:

>Je suis à la recherche d'un script bash qui devra écrire dans un
>fichier des variables.
>
>Exemple de fichier à modifier :
>LOGIN = PIERRE
>PASSWORD = TOTO
>TELEPHONE = 08000294
>
>Mon script devra par exemple remplacer le password par TITI.

Si tu as ex sur ta machine, tu peux faire ceci :

#!/bin/bash
ex -s -c "%s/\(^PASSWORD *= *\).*/\1$2/|x" $1

C'est à dire :

%          pour tout le fichier
s          substitue
/          début de la chaîne à rechercher
\(         début d'une expression à rechercher et à remplacer plus tard
^PASSWORD  le mot PASSWORD en début de ligne
 *= *      un nombre arbitraire d'espaces, le signe = et un nombre
           arbitraire d'espaces
\)         fin d'une expression à rechercher et à remplacer plus tard
..*         le reste de la ligne
/          fin de la chaîne à rechercher et début de la chaîne de
           substitution
\1         substitue la première expression comprise entre \( et \)
           ci-dessus
$2         le deuxième argument du script (en l'occurrence, TITI)
/          fin de la chaîne de substitution
|          séparateur de commandes
x          sauve le fichier et quitte
$1         nom du fichier où on fait la modification

--
Michel Béland ([email protected])  téléphone   : (514) 369-5223
analyste en calcul scientifique            télécopieur : (514) 369-3880
RQCHP (Réseau québécois de calcul de haute performance)  www.rqchp.qc.ca
CERCA (Centre de recherche en calcul appliqué)    www.cerca.umontreal.ca