IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unix Discussion :

Rechercher remplacer ligne de commande?


Sujet :

Unix

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 215
    Points : 62
    Points
    62
    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

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Tu peux echapper des caracteres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /mon/repertoire -name "*.php" -exec sed -i 's/\/dossier\//\/dossier33\//g' {} \;
    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 ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 111
    Points
    111
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    find /mon/repertoire -name "*.php" -exec sed -i 's|/dossier/|/dossier33/|g' {} \;

Discussions similaires

  1. Lancer une commande "Rechercher/remplacer"
    Par alain063 dans le forum IHM
    Réponses: 2
    Dernier message: 19/12/2008, 15h08
  2. [MS-DOS]Recherche d'un poste en ligne de commande
    Par Kcirtap dans le forum Windows XP
    Réponses: 4
    Dernier message: 26/03/2007, 12h30
  3. Recherche ligne de commande C
    Par johnnyaque dans le forum C
    Réponses: 3
    Dernier message: 05/08/2006, 16h14
  4. Ligne de commande Recherche explorateur
    Par petitsims dans le forum Windows XP
    Réponses: 1
    Dernier message: 22/06/2006, 12h02
  5. [VBA-E] rechercher une ligne pour remplacer?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/12/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo