Remplacement d 1 ligne ds un fichier
Résolu/Fermé
A voir également:
- Remplacement d 1 ligne ds un fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
3 avril 2008 à 10:32
3 avril 2008 à 10:32
hello
le problème c'est les $ entre simples ou doubles quotes, essayer:
le problème c'est les $ entre simples ou doubles quotes, essayer:
sed "s/\(^libdir=\)\(..*\$\)/\1$1/" $2 sed 's/\(^libdir=\)\(..*$\)/\1'"$1"'/' $2
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
3 avril 2008 à 12:29
3 avril 2008 à 12:29
Salut,
Que contient ton paramètre "$1" ?
Sinon, la sous-expression "\(..*$\)" est inutile vu qu'apparemment elle cible tout le reste de la ligne, non ?
Essaye avec :
Que contient ton paramètre "$1" ?
Sinon, la sous-expression "\(..*$\)" est inutile vu qu'apparemment elle cible tout le reste de la ligne, non ?
Essaye avec :
sed 's/^libdir=/&'"$1"'/' $2
Bonjour,
je fais l'appel à la fonction avec les parametres suivants:
replaceLine \'/usr/local/BerkeleyDB.4.5/lib\' /tmp/test.txt
Exp:
j ai par example la ligne suivante:
...
libdir='/usr/lib'
...
Je veux remplacer ce qui le path /usr/lib par /usr/local/BerkeleyDB.4.5/lib
libdir='/usr/local/BerkeleyDB.4.5/lib'
Sinon la commande que vous m'avez fournit génère l'erreur suivante:
sed: -e expression #1, char 16: unknown option to `s'
Exit 1
Cdl
je fais l'appel à la fonction avec les parametres suivants:
replaceLine \'/usr/local/BerkeleyDB.4.5/lib\' /tmp/test.txt
Exp:
j ai par example la ligne suivante:
...
libdir='/usr/lib'
...
Je veux remplacer ce qui le path /usr/lib par /usr/local/BerkeleyDB.4.5/lib
libdir='/usr/local/BerkeleyDB.4.5/lib'
Sinon la commande que vous m'avez fournit génère l'erreur suivante:
sed: -e expression #1, char 16: unknown option to `s'
Exit 1
Cdl
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
abiss
3 avril 2008 à 17:37
3 avril 2008 à 17:37
Il faut changer le séparateur "/" dans la mesure ou il se trouve dans le motif de remplacement :
sed 's#^libdir=#&'"$1"'#' $2de ce fait tu peux utiliser les quotes doubles (guillemets) :
sed "s#^libdir=#&$1#" $2;-))
abiss
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
3 avril 2008 à 18:07
3 avril 2008 à 18:07
Merci beaucoup
3 avril 2008 à 12:22
j ai la même erreur avec les deux propositions:
sed: -e expression #1, char 27: unknown option to `s'
Exit 1