Changer un variable dans un fichier
fathy tek
-
jipicy Messages postés 41342 Statut Modérateur -
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
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:
- Changer un variable dans un fichier
- Changer dns - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Changer extension fichier - Guide
1 réponse
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
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