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 :

Remplacement dans un fichier .txt


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Remplacement dans un fichier .txt
    Salut,

    je développe actuellement un programme en PERL où je dois remplacement une ligne dans un fichier .txt par une autre.
    Comment faire pour ne pas ajouter ma ligne à la fin du fichier mais à l'emplacement voulu?

    Merci,

    Seb.

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Salut

    Je te conseille de lire les règles du forum. En effet, tu n'es pas du tout explicite dans ton message et tu nous montres pas ton code ! Impossible pour nous de t'aider dans ces cas. Enfin, as-tu lu la FAQ Perl ? C'est très bien pour répondre à certaines questions

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Explications
    Mon code se trouve sur un poste Unix donc je ne vais pas commencer à le retaper.

    Le code n'est pas nécessaire dans ce que je demande:

    => J'ai un fichier avec différentes lignes ( ex: 1ère ligne='a', 2ème='b', ... , 26ème='z') et je veux par exemple, modifier la ligne où ce trouve le 'c' par 'c ok'. Le seul soucis dans mon code est que je ne connais pas la commande permettant de remplacer cette ligne.

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  5. #5
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: Explications
    Citation Envoyé par sebtoto62
    Mon code se trouve sur un poste Unix donc je ne vais pas commencer à le retaper.
    [mode moqueur=on]
    Nous non plus

    Mais le copier/coller marche très bien d'une fenêtre de terminal au navigateur web, ainsi que la récupération par FTP ou par support amovible ...
    [/mode]

    Citation Envoyé par sebtoto62
    Le code n'est pas nécessaire dans ce que je demande:
    [mode gros_mechant=on]
    Alors si ce n'est pas nécessaire, on peut te faire des réponses sans code ?
    [/mode]

    Citation Envoyé par sebtoto62
    => J'ai un fichier avec différentes lignes ( ex: 1ère ligne='a', 2ème='b', ... , 26ème='z') et je veux par exemple, modifier la ligne où ce trouve le 'c' par 'c ok'. Le seul soucis dans mon code est que je ne connais pas la commande permettant de remplacer cette ligne.
    Maintenant, pour l'exemple que tu donnes, soit le fichier "data.txt" suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    a
    b
    c
    d
    e
    f
    g
    h
    Il suffit de passer la ligne de commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi -e "s/^c$/c ok/" data.txt
    Magique, non ?

    Pour le fonctionnement de l'expression entre doubles quotes, je t'invite à te reporter à la FAQ

    Pour le reste, -pi indique à l'interpréteur Perl qu'il faut travailler sur place, dans le fichier traité, et la substitution ainsi effectué a donc lieu dans le fichier d'origine.

    Bonne continuation.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/05/2008, 11h56
  2. Remplacer une chaîne dans un fichier txt
    Par java_fun dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 11/06/2007, 19h57
  3. Recherche dans un fichier .txt et remplacer
    Par FracMaster dans le forum Langage
    Réponses: 12
    Dernier message: 09/05/2007, 09h10
  4. comment remplacer un caractere par un autre dans un fichier txt
    Par uzumaki_naruto dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2006, 13h33
  5. Remplacer / Supprimer des données dans un fichier txt
    Par PedroBD dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 13h33

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