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 :

modifier un fichier


Sujet :

Langage Perl

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut modifier un fichier
    salut,

    J'ai un fichier qui se presente ainsi

    $var1 = 1001
    $var2=c:
    $var3=HOME
    ce que je souhaite; c'est pouvoir modifier la valeur de la variable $var1;
    je voudrais faire un script qui ouvre se fichier, trouve la variable $var1 et modifie sa valeur;
    Pour le moment mon script ouvre le fichier et trouve $var1 mais je ne vois pas comment remplacer $var1 par sa nouvelle valeur;
    en gros une fois que je trouve la ligne $var1 = 1001 , je voudrais la remplacer par une nouvelle ligne $var1 = 1632.


    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Tu utilises une substitution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s/^(\$var1 *= *).*$/${1}1632/m
    --
    Jedaï

  3. #3
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Je ne pense pas qu'il y ait moyen de modifier un fichier en Perl.
    Je sais que cela ne répond pas à ta question, mais peut-être peux-tu à défaut de trouver mieux recopier ton fichier ligne par ligne dans un nouveau fichier en y modifiant ce que tu veux. Ensuite, tu effaces ton ancien fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if($Ligne=~ m/\$var1 = 1001/)
    {
            $Ligne =~ s/1001/1632/;
            print $Outfile $Ligne."\n";
    }
    else
    {
            print $Outfile $Ligne."\n";
    }

    Jasmine,

  4. #4
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Oui mais la substitution changera la valeur de $var1 dans le script mais pas dans le fichier lu.
    Quand tu dis
    je voudrais la remplacer par une nouvelle ligne $var1 = 1632
    Est-ce bien dans le fichier que tu as lu?


    Jasmine,

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 602
    Par défaut
    Citation Envoyé par Jasmine80
    Est-ce bien dans le fichier que tu as lu?

    Jasmine,
    Oui, c'est ce qu'il veut : pouvoir modifier son fichier d'entrée avec la nouvelle valeur.

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Peut-être devrais-je mettre mon post récent sur le sujet en haut du forum, non ? La question revient très fréquemment, il pourrait être utile d'avoir une référence à pointer.

    --
    Jedaï

  7. #7
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Oui en effet Jedaï, ça serait une très bonne idée.


    Jasmine,

  8. #8
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 602
    Par défaut
    Citation Envoyé par Jedai
    Peut-être devrais-je mettre mon post récent sur le sujet en haut du forum, non ? La question revient très fréquemment, il pourrait être utile d'avoir une référence à pointer.

    --
    Jedaï
    Je te suggère davantage de reprendre ton excellente explication en y ajoutant un exemple.

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    merci de vos reponses
    en faite
    j ai reussi
    je recupere le fichier dans un tableau
    et je le reecri ensuite avec la nouvelle valeur

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/02/2012, 11h57
  2. [JexcelAPI]Modifier un fichier excel
    Par sissi_l dans le forum Documents
    Réponses: 3
    Dernier message: 01/06/2007, 01h36
  3. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13
  4. [jar] Comment modifier un fichier jar
    Par newfsch dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/07/2004, 14h25
  5. [LG]modifier un fichier
    Par fofovi72 dans le forum Langage
    Réponses: 3
    Dernier message: 15/04/2004, 21h30

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