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

Langage Perl Discussion :

[langage] substitution chaine


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [langage] substitution chaine
    bonjour,

    je ne connait pas bien le perl.
    mais, je voudrais trouver un script qui modifie une chaine1 par chaine2 dans tous les fichiers du repertoire courant.

    merci.

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    j'ai essaié la commande suivante mais je n'ai aucun resultat.

    /usr/bin/perl -i -p -e 's/www.pagesjaunes.fr\/rc.cgi?faire=plan&NIV_PLAN=1/photos.pagesjaunes.fr/g' *.html

  3. #3
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    tiens voila un script fais un deux seconde.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #! /usr/bin/perl
     
    opendir DIR_FD, "." or die "impossible à ouvrir";
    @contenutmp = readdir DIR_FD;
    foreach (@contenutmp) {
      unless (/^(\.\.|\.)/) {
            $filename = $_;
            open(FD, "<$_");
            open(FD2, ">$_" . ".old");
            while (<FD>) {
              s/chat/chat/g;
              print FD2 $_;
            }
            close(FD);
            close(FD2);
            unlink($filename);
            open(FD, $filename . ".old");
            open(FD2, ">$filename");
            while (<FD>) {
                print FD2 $_;
            }
            close(FD);
            close(FD2);
            unlink($filename . ".old");
      }
    }
    je n ai pas le temps de le faire plus petit. fais passer les choses par le tableau d arguments.
    et gere comme tu le souhaites
    tu peux y aller par shell script aussi. et aussi par ligne ed commande. ej sais que cela est possible mais je souvines plus de la ligne avec perl

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 4
    Points : 4
    Points
    4
    Par défaut merci nyal
    je n'ai pas compris le script.
    je ne vois pas ce qu'il faut passer en argument, ni comme le script fait pour recuperer ces arguments.

    merci encord pour ton aide.

  5. #5
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut Re: merci nyal
    Citation Envoyé par sati
    je n'ai pas compris le script.
    je ne vois pas ce qu'il faut passer en argument, ni comme le script fait pour recuperer ces arguments.

    merci encord pour ton aide.
    tu n'es pas obliger de passer quelque chose en argument. c'est juste par exemple si tu veux remplacer un mot par un autre. plutot d'aller dans le script pour changer. un passage d argument me semble plus sympathique.
    Il recupere tout seul les arguments perl. il suffit d'aller dans le tableau @ARGV.

    voila. dis ce que tu n'as pas compris dans le script.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb substitution chaine de caractere (regex)
    Par slackuser dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2009, 14h38
  2. [langage] taille chaine de caracteres
    Par katikats dans le forum Langage
    Réponses: 8
    Dernier message: 10/01/2005, 11h06
  3. [langage] Substitution précise dans une chaine
    Par ATPase dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2004, 14h57
  4. Réponses: 3
    Dernier message: 28/07/2003, 22h01
  5. [langage] substitution de caractère
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2003, 07h47

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