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

Scripts/Batch Discussion :

Ecrire dans un fichier


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 129
    Par défaut Ecrire dans un fichier
    Bonjour,

    Voici ma problématique : j'ai deux fichiers fichier1.txt et fichier2.txt. Fichier2 a une structure précise de type :
    Le but du script est de récupérer le contenu de fichier1.txt et de le copier à la fin de 'MON CONTENU' mais avant le '}' du fichier2.txt. A noter que dans 'MON CONTENU' j'ai déjà des } donc je ne peux pas faire une recherche sur ce caractère.

    D'avance merci,

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 165
    Par défaut
    salut,

    } est le dernier caractère de ton fichier2 ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 129
    Par défaut
    SAlut,

    Merci de ta réponse et désolé mais j'avais pas vu qu'il y avait une réponse.

    Oui, } est le dernier caractère de mon fichier. Le must serait d'insérer le contenu avant ce caractère. Mais le soucis c'est que j'ai d'autres } présent dans le fichier.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 165
    Par défaut
    Voilà une piste parmi d'autres possibles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f %%a in ('sed -n "/^}$/=" Fichier2') do set var=%%a
    sed "%var%ctexte\n}" Fichier2
    Démarche :

    1. on récupère le n° de la dernière ligne qui ne contient que "}" dans fichier2
    2. on remplace dans fichier2 ce n° de ligne par "texte" ainsi qu'un retour chariot avec un "}" à la ligne suivante

    A noter que l'option -i de sed te permettrait d'éditer directement Fichier2

    Bien sur c'est à adapter, notamment le simple "texte" qu'il faudrait remplacer par le contenu de ton fichier1

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 129
    Par défaut
    OK merci,
    Je vais étudier cette commande....etant novice le for est un peu violent

    Merci pour tout!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 129
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f %%a in ('sed -n "/^}$/=" Fichier2') do set var=%%a
    sed "%var%ctexte\n}" Fichier2
    JE vais faire le boulet mais j'ai vraiment du mal à comprendre...
    Comment il trouve le caractère } ?
    Ou tu indiques le chemin du fichier1 ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 129
    Par défaut
    J'ai ça comme message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed : Extra characters after command
    Je comprends la premiere ligne du code, mais la deuxième je comprends absolument rien...

Discussions similaires

  1. Ecrire \" dans un fichier
    Par photorelief dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2005, 15h56
  2. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  3. Ecrire dans un fichier
    Par gibet_b dans le forum Linux
    Réponses: 5
    Dernier message: 25/04/2005, 20h11
  4. Ecrire dans un fichier grace à un trigger ?
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/10/2004, 20h03
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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