|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2003 Messages : 201 ![]() |
Bonjour
Je dois chercher récursivement dans plusieurs php la chaine de caractères /dossier/ (avec les slashs) et je dois la remplacer par /dossier33/ (avec slashs aussi) J'ai trouvé cette commande find /mon/repertoire -name "*.php" -exec sed -i 's/MOT_RECHERCHER/MOT_DE_REMPLACEMENT/g' {} \; Mais je ne sais pas comment placer /dossier/ (avec les slashs ) ? De plus je voudrais avoir des backup .bak j'ai vu qu'avec sed c'est possible. Merci pour votre aide surtout pour me dire comment on cherche et remplace une chaine qui commence et finie par slash aec cette commande merci |
|
|
00
|
|
|
#2 | |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 129 ![]() |
Bonjour,
Tu peux echapper des caracteres : Code :
find /mon/repertoire -name "*.php" -exec sed -i 's/\/dossier\//\/dossier33\//g' {} \;
Citation:
|
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : mars 2007 Messages : 88 ![]() |
pour sed on est pas obligé d'utiliser le '/' comme séparateur. Un peu de tout est accepté en fait.
Bref la solution de gangsoleil est très bien mais plutot que de devoir "escaper" le '\', tu peux écrire ceci : Code :
find /mon/repertoire -name "*.php" -exec sed -i 's|/dossier/|/dossier33/|g' {} \;
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com