Changer un variable dans un fichier

Fermé
fathy tek - 5 mars 2009 à 18:02
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 5 mars 2009 à 18:07
Bonjour,
j ai essaye de substituer une chaine de caractere dans un fichier grace a script ksh
voici le contenu

#!/bin/ksh
#------------------------------------------------------------------------
# copy
#------------------------------------------------------------------------
copy()
{
echo "Copying $1 to $2 ..."
[ $# -ne 2 ] &&
{
echo "Wrong argument number $#. Usage:copy source destination "
return 1
}
cp -p $1 $2
[ $? -eq 1 ] && { echo "Can not copy $1 to $2"; return 1; }
return 0
}

replace2()
{
sed 's/%%NGSEC_PATH%%/$2/g' > $3.tmp
cp $3.tmp $3
}
replaceAll()
{
copy $1 $2
[ $? -eq 1 ] && { return 1; }
echo "Tuning file : $2"
replace2 %%NGSEC_PATH%% /home/CSA $2
}
replaceAll /home/disclaimerInstall.sh.tmpl /tmp/disclaimerInstall.sh


dans le fichier /home/disclaimerInstall.sh.tmpl il y a l entree suivante
ASTPATH=%%NGSEC_PATH%%
le resultat
ASTPATH=$2

je veux que la valeur soit la suivante
ASTPATH=/home/CSA
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
5 mars 2009 à 18:07
Salut,

sed 's/%%NGSEC_PATH%%/$2/g'
Mets des quotes doubles autour de l'expression à la place des quote ssimples.

Voir aussi : SED - Le remplacement de variables
0