remplacement de ligne automatisé

remplacement de ligne automatisé - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 18-05-2003 à 13:18:54    

je cherche une commande qui permet de remplacer une ligne commençant par XXX pour la remplacer par une autre ligne. Le traitement doit s'appliquer à plusieurs fichier.
Donc remplacer:
XXX yyyyy  (occurences sur XXX pas yyyy)
par  
XXX zzzz
 
Je suppose que sed doit sûrement aider, mais n'étant pas un pro de sed, y a-t-il une commande qui permet de faire ça?


---------------
Gitan des temps modernes
Reply

Marsh Posté le 18-05-2003 à 13:18:54   

Reply

Marsh Posté le 18-05-2003 à 17:08:50    

Oui tu peux faire ca en utilisant sed et les expressions régulieres
 
sed  s/yyyy/zzzz/ fichier
 

Reply

Marsh Posté le 18-05-2003 à 18:18:54    

je ne connais pas yyy au départ (en fait cela varie selon les fichiers). Je connais que XXX et zzz (on se croirait en cryptologie  :D )


---------------
Gitan des temps modernes
Reply

Marsh Posté le 18-05-2003 à 18:22:08    

sed "s/^XXX .*/XXX zzzz/" fichier > sortie
 
Ou perl -pi -e "s/^XXX .*/XXX zzzz/" fichier1 fichier2 ...


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 18-05-2003 à 18:40:19    

j'ai essayé
sed "s/^rootCommand .*/"rootCommand: Esetroot -stretch ~/.commonbox/current"/"
 
et
 
perl -pi -e "s/^rootCommand .*/"rootCommand: Esetroot -stretch ~/.commonbox/current"/"
 
mais ça marche pas (j'avais prévenu, j'y connais rien en sed et perl  [:lex] )


---------------
Gitan des temps modernes
Reply

Marsh Posté le 18-05-2003 à 21:09:54    

Avec un peu d'explication, je peut te proposer ca :
 
 
 
 
sed  -e s/"rootCommand \.\*\/"/"rootCommand: Esetroot -stretch ~\/\.commonbox\/current"/g sed-test.txt

Reply

Sujets relatifs:

Leave a Replay

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