Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 28/11/2009, 21h59   #1
Nouveau Membre du Club
 
Inscription : avril 2003
Messages : 201
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 201
Points : 31
Points : 31
Par défaut Rechercher remplacer ligne de commande?

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
isa150183 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2009, 11h22   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 129
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 129
Points : 8 749
Points : 8 749
Bonjour,

Tu peux echapper des caracteres :
Code :
find /mon/repertoire -name "*.php" -exec sed -i 's/\/dossier\//\/dossier33\//g' {} \;
Citation:
De plus je voudrais avoir des backup .bak j'ai vu qu'avec sed c'est possible.
Si tu as vu que c'etait possible, c'est surement que ca l'est. Mais ou as-tu vu ca, et est-ce que ca ne donnait pas en plus le moyen de le faire ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2010, 12h20   #3
Membre régulier
 
Inscription : mars 2007
Messages : 88
Détails du profil
Informations personnelles :
Âge : 38
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 88
Points : 83
Points : 83
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' {} \;
rafuoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h36.


 
 
 
 
Partenaires

Hébergement Web