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

Linux Discussion :

Replacement de texte


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Par défaut Replacement de texte
    Bonjour, je cherche la commande qui permet de remplacer un texte sur l'ensemble des fichiers d'un répertoire sur unix.

    Je voudrais remplacer le texte suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "/www/docs/syndrome.ms.fcm
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['DOCUMENT_ROOT']."

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Par défaut
    Bonjour mrman,

    La commande sed permet exactement cela (je me suis permi de changer les guillements doubles dans $_SERVER[...] en guillemets simples pour simplifier la commande).

    Sur un fichier particulier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i -e 's|"/www/docs/syndrome.ms.fcm|$_SERVER["DOCUMENT_ROOT"]."|' monfichier.php
    Sur tous les fichiers du même dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i -e 's|"/www/docs/syndrome.ms.fcm|$_SERVER["DOCUMENT_ROOT"]."|' *.php
    Si tes fichiers sont répartis dans plusieurs sous dossiers, tu peux faire une recherche avec find :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -name '*.php' -exec sed -i -e 's|"/www/docs/syndrome.ms.fcm|$_SERVER["DOCUMENT_ROOT"]."|' '{}' ';'
    Bon courage !

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 677
    Par défaut
    Bonjour,

    sed est l'outil à utiliser.

    on manque un peu de contexte pour donner un réponse précise; en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/ancien/nouveau/'
    vu que tes expressions comportent des barres obliques, des apostrophes et des guillemets, ce sera peut-être un peu plus compliqué, mais comme je te l'ai dit, on manque de contexte...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Replace Text Area
    Par ririch dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 27/04/2009, 11h07
  2. Replace sur un type de donnée text
    Par zut94 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/11/2008, 21h32
  3. textbox.Text.Replace ' par '' impossible
    Par beren.kei dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/06/2008, 14h41
  4. [EDI] Outil search/replace (ds code php - fichier texte)
    Par vandeyy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/02/2007, 11h30
  5. Utilisation de replace dans champs text
    Par cdelamarre dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 01/12/2004, 17h26

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