sed : Remplacer plusieurs lignes ?

sed : Remplacer plusieurs lignes ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-04-2006 à 16:13:55    

Salut,  
 
J'ai un fichier texte toto :
zzz
aaa
zzz
eee
 
Comment remplacer les deux dernières lignes, par exemple par exemple pour avoir :
zzz
aaa
ccc
ddd
 
J'essaye avec :
sed -e '1,$s/zzz\neaa/ccc\nddd/g' toto
 
Ca marche pour modifier une seule ligne, mais dès que je met le \n pour en modifier 2,rien ne se passe.  :(  
 
Une idée ?

Reply

Marsh Posté le 04-04-2006 à 16:13:55   

Reply

Marsh Posté le 04-04-2006 à 18:39:59    

http://www.pegasus.rutgers.edu/~elflord/unix/sed.html
 
Ce lien (trouvé via gougueule) semble traiter de ce problème. Mais j'avoue que c'est une bonne question :p


---------------
Serre les fesses jusqu'en 2012...
Reply

Marsh Posté le 04-04-2006 à 18:41:54    

sinon tu peux essayer de resoudre le problème via awk

Reply

Marsh Posté le 05-04-2006 à 17:27:14    

man vi
 

> cat > test
zzz
aaa
zzz
eee
 
>vi -c "$ s/eee/ddd/|3 s/zzz/ccc/|:wq" test  
"test" 4 lines, 16 characters "test" 4 lines, 16 characters  
>cat test
zzz
aaa
ccc
ddd
>rm test
>


 
tout simplement par les n° de lignes mais bien sur avec $ pour la derniere etc.... il est possible de le faire sans connaitre le n° de la ligne

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed