Changer un variable dans un fichier

fathy tek -  
jipicy Messages postés 41342 Statut Modérateur -
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 41342 Statut Modérateur 4 896
 
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