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 :

Aide pour une ligne shell


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut Aide pour une ligne shell
    Bonjour
    J'ai cette ligne qui me permet de remplacer a par b dans mes fichiers php

    find | grep '\.php$' | xargs perl -i.bak -pe 's/a/b/g'

    Maisje voudrais remplacer la chaine :

    = 'Previous'

    Par

    = 'Précédent'

    Et à cause des quotes je ne sais pas comment l'écrire, pourriez vous m'aider ?

    Merci

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par isa150183
    Bonjour
    J'ai cette ligne qui me permet de remplacer a par b dans mes fichiers php

    find | grep '\.php$' | xargs perl -i.bak -pe 's/a/b/g'

    Maisje voudrais remplacer la chaine :

    = 'Previous'

    Par

    = 'Précédent'

    Et à cause des quotes je ne sais pas comment l'écrire, pourriez vous m'aider ?

    Merci

    Je pense que ça doit marcher

    find . -name '*.php' | xargs perl -i.bak -pe "s/= 'Previous'/= 'Précédent'/g"

  3. #3
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut merci essai
    Merci ca marche !

    Que dois je enlever dans la ligne pour ne plus avoir les anciens fichiers sauvegardés en .bak ?

    Que dois je rajouter comme option pour chercher que dans les repertoires qui contiennent le mot 'fr' ?

    merci !!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par isa150183
    Et à cause des quotes je ne sais pas comment l'écrire, pourriez vous m'aider ?
    D'un manière générale, on peut neutraliser les caractères spéciaux avec \.
    Comme tu l'as remarqué, les simples quotes ' sont des caractères spéciaux qui entourent l'expression régulière de perl. Mais tu veux les rechercher comme des caractères "normaux". Pour leur rendre cette nature "normale", tu les neutralises en plaçant \ devant:

    find . -name "*.php" | xargs perl -i.bak -pe 's/= \'Previous\'/= \'Précédent\'/g'

    Ca marche avec tous les caractères spéciaux, même / * . $ ^ etc.


    Citation Envoyé par isa150183
    Que dois je enlever dans la ligne pour ne plus avoir les anciens fichiers sauvegardés en .bak ?
    perl -h renvoie la liste des options de perl, et notamment:

    -i[extension] edit <> files in place (makes backup if extension supplied)

    donc conserve -i mais supprime l'extention .bak

    Tu as le droit de faire tes propres tests !!!


    Citation Envoyé par isa150183
    Que dois je rajouter comme option pour chercher que dans les repertoires qui contiennent le mot 'fr' ?
    je ne vois pas. Si tu en as beaucoup, fais un script pour:
    1. les trouver (find . -type d -name "*fr*")
    2. faire une boucle dessus pour appliquer ta commande de substitution

Discussions similaires

  1. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  2. Aide pour une requete ... "COUNT(*)"
    Par mechantebestiole dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/05/2004, 16h27
  3. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38
  4. aides pour script en shell
    Par komatek dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 12/08/2003, 15h36
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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