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 :

Ajout dans un fichier à un endroit spécifique


Sujet :

Langage Perl

  1. #1
    Membre habitué Avatar de VinnieMc
    Inscrit en
    Décembre 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 208
    Points : 161
    Points
    161
    Par défaut Ajout dans un fichier à un endroit spécifique
    Bojour, pour écrire dans un fichier en mode ajout, il faut faire précéder le nom du fichier cible de .
    Cette technique écrit à la fin du fichier, ma question est donc, est-il possible d'écrire dans un fichier en mode ajout, et de pouvoir spécifier l'endroit précis, par exemple entre deux balises , où l'on veut ajouter le texte?

    Merci :-)

  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

    Une piste serait de lire le fichier origine ligne par ligne et de les copier vers un fichier cible. Lorsque tu tombes sur la ligne que tu veux modifier, un recours aux regexps seraient très bien. Puis, il suffit d'ajouter dans le fichier cible les autres lignes du fichier source. Enfin, on pourra éventuellement faire un mv du fichier de destination vers le source.

    @++
    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
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    C'est non seulement une piste mais la meilleure solution la plupart du temps. L'alternative d'ouvrir en lecture/écriture le fichier engendre très vite d'énorme complications lorsqu'on n'a pas affaire à des modifications de fichiers à enregistrements de longueur fixe...

    Le fait qu'on puisse utiliser '>>' pour ajouter à la fin du fichier est directement lié à la représentation en mémoire du fichier : rajouter des octets à la fin ne perturbe pas le reste du fichier, mais pour 'insérer' dans un fichier, on ne peut pas se contenter d'écrire dedans puisqu'on perturbe ainsi les autres octets du fichier qui se trouvaient après le point d'insertion.

    Les deux solutions classiques sont soit de récupérer l'ensemble du fichier dans une string puis d'insérer ses modifications et enfin d'écraser l'ancien contenu avec le nouveau, soit de créer un deuxième fichier temporaire dans lequel on recopie l'ancien jusqu'au point d'insertion, puis on écrit le contenu à modifier, puis on recopie la fin de l'ancien et enfin on renomme le fichier temporaire pour écraser le fichier originel. La deuxième solution est plus économe en espace mémoire et donc plus sûre.

    --
    Jedaï

  4. #4
    Membre habitué Avatar de VinnieMc
    Inscrit en
    Décembre 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 208
    Points : 161
    Points
    161
    Par défaut
    Merci à vous pour vos idéés, je ne les ai pas encore essayées car je n'ai pas le temps, mais elles semblent être les meilleures.
    Merci encore de votre aide, et des explications techniques :-)

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/06/2008, 14h44
  2. Ecrire dans un fichier à un endroit précis
    Par alliance dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 09/11/2007, 17h05
  3. ajout dans un fichier
    Par khasanouray dans le forum Langage
    Réponses: 4
    Dernier message: 08/07/2007, 01h02
  4. [DOM] Ajouter dans un fichier XML
    Par noussa_nouha dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 20/07/2006, 12h53
  5. ajouter dans un fichier xml
    Par hamma2 dans le forum APIs
    Réponses: 4
    Dernier message: 29/09/2003, 12h57

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