|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : août 2003 Messages : 25 ![]() |
bonjour,
je voudrais écrire un script shell permettant de reperer une expression dans un fichier et remplacer cette expression par une autre. voici ce que j'ai écrit pour le moment : Code :
Quelqu'un pourrait il m'éclairer SVP ? Merci. |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 709 ![]() |
Tourne-toi du côté de sed:
Code :
sed 's/expression/remplacemet/g' ancien-fichier nouveau-fichier
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT Jabber: ripat at im.apinc.org |
|
|
00
|
|
|
#3 | ||
|
Membre éprouvé
![]() Inscription : mai 2002 Messages : 535 ![]() |
Vous pouvez avec la commande "sed" resoudre votre probleme
Code :
__________________
Signé : Capitaine Jean-Luc Picard |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : août 2003 Messages : 25 ![]() |
merci messieurs pour ces deux réponses.
je n'arrive malheureusement pas a incorporer cette commande dans mon script, je n'obtient pas le résultat voulu à l'exécution du script. serait-il abusé de vous demander de reprendre mon bout de script, si celui-ci est correct, et d'y inclure la commande sed. Merci. |
|
|
00
|
|
|
#5 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 709 ![]() |
Tout simplement
Code :
sed 's/expression/remplacement/g' "$1"
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT Jabber: ripat at im.apinc.org |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : août 2003 Messages : 25 ![]() |
voici le script :
Code :
?? qu'est ce qui cloche d'apres vous ? |
||
|
|
00
|
|
|
#7 | ||
|
Membre émérite
![]() Inscription : mai 2004 Messages : 709 ![]() |
sed travaille sur l'ensemble du fichier. Pas besoin de boucler sur les lignes.
Essaye ceci. Attention, le fichier d'origine sera écrasé. Code :
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT Jabber: ripat at im.apinc.org |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : août 2003 Messages : 25 ![]() |
ahhh ! merci de m'avoir débloqué. ton aide m'a bien rendu service.
j'aurai juste une derniere petite question sur ce sujet. il s'avere en faite que l'expression que je souhaite changé est une adresse internet donc de type "http://www.adresse.com" et cela pose des problemes aparemment avec les // de l'adresse. aurait tu une solution pour ca ? Merci pour tout. |
|
|
00
|
|
|
#10 | |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 709 ![]() |
Au choix:
Code :
sed 's/http:\/\/adresse.com/http:\/\/nouvelle-adress.com/p' Code :
sed 's#http://adresse.com#http://nouvelle-adress.com#p' Citation:
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT Jabber: ripat at im.apinc.org |
|
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Outre perl qui est très fort en manipulation de chaines de caractères, il est intéressant de connaitre sed, awk et grep pour ça.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com