Modification variable dans un fichier
Résolu/Fermé
A voir également:
- Modification variable dans un fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Suivi de modification word - Guide
9 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
16 juil. 2008 à 14:26
16 juil. 2008 à 14:26
Salut,
Dans l'exemple que je t'avais donné, j'avais bien stipulé de ne pas mettre d'espace entre les crochets
"[ [:digit:] ]" !!!
C'est à cause de l'interprétation qui est faite des doubles crochets par la syntaxe du forum de CCM qu'on est obligé de mettre des espaces sans quoi c'est interprété et affiché comme suit :
Dans l'exemple que je t'avais donné, j'avais bien stipulé de ne pas mettre d'espace entre les crochets
"[ [:digit:] ]" !!!
C'est à cause de l'interprétation qui est faite des doubles crochets par la syntaxe du forum de CCM qu'on est obligé de mettre des espaces sans quoi c'est interprété et affiché comme suit :
sed "/ma_variable/ s/:digit:/$var/" fichier.kshDonc supprime les espaces et ça devrait rouler ;-))
j'ai essayé
sed "/ma_variable/ s/:digit:/$var/" fichier.ksh > fich.tmp && mv -f fich.tmp fichier.ksh
la date de modification du fichier change mais la ligne reste identique..., j'ai toujours :
export ma_variable=1 #ma variable
:(
sed "/ma_variable/ s/:digit:/$var/" fichier.ksh > fich.tmp && mv -f fich.tmp fichier.ksh
la date de modification du fichier change mais la ligne reste identique..., j'ai toujours :
export ma_variable=1 #ma variable
:(
j'ai toujours un petit problème...
j'ai dans le fichier ksh :
export ma_variable=10 #ma variable
je fais
sed "/ma_variable/ s/:digit:/${var}/" fichier.ksh > fich.tmp && mv -f fich.tmp fichier.ksh
j'obtiens alors
export ma_variable=230 #ma variable
comment faire pour que le zéro soit aussi supprimé lors de la commande ?
j'ai dans le fichier ksh :
export ma_variable=10 #ma variable
je fais
sed "/ma_variable/ s/:digit:/${var}/" fichier.ksh > fich.tmp && mv -f fich.tmp fichier.ksh
j'obtiens alors
export ma_variable=230 #ma variable
comment faire pour que le zéro soit aussi supprimé lors de la commande ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
16 juil. 2008 à 16:22
16 juil. 2008 à 16:22
sed "/ma_variable/ s/[0-9]\+/$var/";-))
Merci encore... mais j'ai une nouvelle forme de variable qui est
export ma_variable=111xx
avec 111 qui peuvent être des chiffres et xx des lettres minuscules, c'est pour désigner la version d'une application.
donc j'aimerais pourvoir via une commande changer la version et avoir par exemple
export ma_variable=222yy
ce serait possible ?
j'ai bidouillé et pour reconnaître les chiffres je mets trois :digit: à la suite même si c'est pas très propre, mais pour les lettres je trouve pas comment faire...
export ma_variable=111xx
avec 111 qui peuvent être des chiffres et xx des lettres minuscules, c'est pour désigner la version d'une application.
donc j'aimerais pourvoir via une commande changer la version et avoir par exemple
export ma_variable=222yy
ce serait possible ?
j'ai bidouillé et pour reconnaître les chiffres je mets trois :digit: à la suite même si c'est pas très propre, mais pour les lettres je trouve pas comment faire...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
17 juil. 2008 à 10:48
17 juil. 2008 à 10:48
Re-
var=222yy; sed "/ma_variable/ s/=[^ ]*/=$var/";-))
Re,
j'ai un petit souci qui est le suivant :
j'ai des lignes en commentaire de ce genre dans fichier.ini
#ABC
#DEF
IJK
LMN
#OPQ
je fais un script pour ajouter ou supprimer un commentaire, cela donne ça :
read paramc?"Voulez-vous ajouter ou enlever une société en commentaire ? (a/e)"
if [[ ${paramc} != [eE] ]] ; then
read soc?"Quelle société voulez-vous mettre en commentaire ? "
sed "/${soc}/ s/^/#/" fichier.ini > fich.tmp && mv -f fich.tmp fichier.ini
echo "La société ${soc} ne sera pas traitée."
read paramb?"Voulez-vous commenter une autre société ? (o/n)"
else
read soc?"Quelle société voulez-vous enlever le commentaire ? "
echo "La société ${soc} sera traitée."
read paramb?"Voulez-vous traiter une autre société ? (o/n)"
fi
voilà la commande sed pour ajouter un commentaire marche bien mais je trouve pas celle pour enlever le #...
j'ai un petit souci qui est le suivant :
j'ai des lignes en commentaire de ce genre dans fichier.ini
#ABC
#DEF
IJK
LMN
#OPQ
je fais un script pour ajouter ou supprimer un commentaire, cela donne ça :
read paramc?"Voulez-vous ajouter ou enlever une société en commentaire ? (a/e)"
if [[ ${paramc} != [eE] ]] ; then
read soc?"Quelle société voulez-vous mettre en commentaire ? "
sed "/${soc}/ s/^/#/" fichier.ini > fich.tmp && mv -f fich.tmp fichier.ini
echo "La société ${soc} ne sera pas traitée."
read paramb?"Voulez-vous commenter une autre société ? (o/n)"
else
read soc?"Quelle société voulez-vous enlever le commentaire ? "
echo "La société ${soc} sera traitée."
read paramb?"Voulez-vous traiter une autre société ? (o/n)"
fi
voilà la commande sed pour ajouter un commentaire marche bien mais je trouve pas celle pour enlever le #...
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
18 juil. 2008 à 09:00
18 juil. 2008 à 09:00
Re-
jp@MDK:~/tmpfs ssh$ cat fichier.txt #ABC #DEF IJK LMN #GHI # blabla #OPQ jp@MDK:~/tmpfs ssh$ sed '/GHI/ s/#//' fichier.txt #ABC #DEF IJK LMN GHI # blabla #OPQ jp@MDK:~/tmpfs ssh$;-))