Remplacer une ligne par une autre
Résolu
wapette21
-
wapette21 -
wapette21 -
Bonjour,
Je souhaite modifier un fichier de config via un script ksh, seulement je rencontre quelque
problème.
je fait un cat -n mon_fichier.cfg et j'obtiens :
1 # Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
2 # jours fériés), les dates sont au format JJ/MM/AAAA.
3 14/07/2006
4 17/07/2006
5 18/07/2006
6 15/08/2006
7 01/01/2007
8 17/01/2008
9 24/01/2008
10 17/07/2008
11 18/07/2008
maintenant grâce au numéro de ligne je veux modifié une ligne par exemple la 4.
je fait donc sed "/4/c 17/07/2006\"g\" toto" mon_fichier.txt
résultat -> sed: command garbled: /4/c 17/07/2006"g" toto
quelqu'un a une idée.
Merci a tous.
Je souhaite modifier un fichier de config via un script ksh, seulement je rencontre quelque
problème.
je fait un cat -n mon_fichier.cfg et j'obtiens :
1 # Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
2 # jours fériés), les dates sont au format JJ/MM/AAAA.
3 14/07/2006
4 17/07/2006
5 18/07/2006
6 15/08/2006
7 01/01/2007
8 17/01/2008
9 24/01/2008
10 17/07/2008
11 18/07/2008
maintenant grâce au numéro de ligne je veux modifié une ligne par exemple la 4.
je fait donc sed "/4/c 17/07/2006\"g\" toto" mon_fichier.txt
résultat -> sed: command garbled: /4/c 17/07/2006"g" toto
quelqu'un a une idée.
Merci a tous.
A voir également:
- Remplacer une ligne par une autre
- Remplacer disque dur par ssd - Guide
- Partager photos en ligne - Guide
- Remplacer un mot par un autre word - Guide
- Mètre en ligne - Guide
- Aller à la ligne dans une cellule excel - Guide
6 réponses
Salut,
La premier commande ne fonctionne pas : sed '4 c 17/07/2006"g" toto' mon_fichier.cfg
sed: command garbled: 4 c 17/07/2006"g" toto
et la deuxieme ne remplace pas ma ligne : sed '4 s|.*|&"g" toto|' mon_fichier.cfg
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
17/07/2006"g" toto
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
Merci de vos réponse.
La premier commande ne fonctionne pas : sed '4 c 17/07/2006"g" toto' mon_fichier.cfg
sed: command garbled: 4 c 17/07/2006"g" toto
et la deuxieme ne remplace pas ma ligne : sed '4 s|.*|&"g" toto|' mon_fichier.cfg
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
17/07/2006"g" toto
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
Merci de vos réponse.
Bonjour,
Difficile...
On ne sait pas où vous voulez changer (la quatrième ligne, les lignes contenant un 4, les lignes débutant par un 4), on ne sait pas ce que vous voulez changer, et on ne sait pas ce que vous voulez mettre à la place (toto est-il le fichier qui contient la nouvelle date ?)
Entre autres on ne sait pas pourquoi vous n'êtes pas satisfait des propositions faites.
Manu
Difficile...
On ne sait pas où vous voulez changer (la quatrième ligne, les lignes contenant un 4, les lignes débutant par un 4), on ne sait pas ce que vous voulez changer, et on ne sait pas ce que vous voulez mettre à la place (toto est-il le fichier qui contient la nouvelle date ?)
Entre autres on ne sait pas pourquoi vous n'êtes pas satisfait des propositions faites.
Manu
[tmpfs]$ cat fichier.txt # Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte, # jours fériés), les dates sont au format JJ/MM/AAAA. 14/07/2006 17/07/2006 18/07/2006 15/08/2006 01/01/2007 17/01/2008 24/01/2008 17/07/2008 18/07/2008 [tmpfs]$ sed '4 c 17/07/2006"g" toto' fichier.txt # Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte, # jours fériés), les dates sont au format JJ/MM/AAAA. 14/07/2006 17/07/2006"g" toto 18/07/2006 15/08/2006 01/01/2007 17/01/2008 24/01/2008 17/07/2008 18/07/2008 [tmpfs]$ sed '4 s|.*|&"g" toto|' fichier.txt # Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte, # jours fériés), les dates sont au format JJ/MM/AAAA. 14/07/2006 17/07/2006"g" toto 18/07/2006 15/08/2006 01/01/2007 17/01/2008 24/01/2008 17/07/2008 18/07/2008 [tmpfs]$;-))
Je suis désoler mais je ne comprend pas, je me suis peut etre mal expliquer mon fichier.txt contient :
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
17/07/2006
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
ce que je souhaite c'est pourvoir modifier certaine date en les remplacent exemple :
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
toto
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
J'ai remplacer ma 4 ligne par toto mais les commande ci dessus ne fonctionne pas.
Pour information je suis sous solaris 9.
Merci
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
17/07/2006
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
ce que je souhaite c'est pourvoir modifier certaine date en les remplacent exemple :
# Fichier de configuration contenant les jours non ouvrables de la société (Pentecôte,
# jours fériés), les dates sont au format JJ/MM/AAAA.
14/07/2006
toto
18/07/2006
15/08/2006
01/01/2007
17/01/2008
24/01/2008
17/07/2008
18/07/2008
J'ai remplacer ma 4 ligne par toto mais les commande ci dessus ne fonctionne pas.
Pour information je suis sous solaris 9.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question