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 :

Suppression de la dernière ligne d'un fichier.


Sujet :

Scripts/Batch

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut Suppression de la dernière ligne d'un fichier.
    Bonjour,

    Suite à la concaténation de 2 fichier

    TYPE a.txt + b.txt > c.txt
    J'obtiens donc un fichier c.txt où tout à la fin il y a une ligne vide que je n'arrive pas à supprimer.

    Exemple de resultat du fichier c.txt:

    200906
    "068","1234567",20090306,"02062","2801983","050","00106","3",20090228
    "068","1234567",20090306,"02062","2801983"," ","00106","3",20090312
    "068","1234567",20090306," ","2801983","050","00106","3",20090417
    Ligne vide à cet endroit
    A la fin du fichier il y a un ligne vide que je n'arrive pas à supprimer.

    J'essaye d'utiliser cette commande:

    FOR /F %%i in ('TYPE c.txt') DO IF NOT "%%i"=="" Echo %%i>> cBis.txt
    Le problème est que dans mon fichier, il y a des vides et donc cette commande me reformatte mon fichier en enlevant les chaines après les espace.

    J'ai essayer de faire des recherche sur le Net mais je n'ai à ce jour pas trouvé de solution.

    Quelqu'un aurait-il une idée lumineuse??

    Merci d'avance.

    Cdlt,

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Commences déjà par enlever le "+" entre les deux noms de fichier "source", et reteste, stp.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut
    Je viens de tester et le problème est toujours le même

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Veux-tu bien faire un ZIP de ton fichier "a.txt" et du batch que tu utilises pour créer le "c.txt", et mettre le tout en attache ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut
    Voila les 2 fichiers en pièce jointe.

    A noter que la ligne vide est présente dans le a.txt mais cela ne change pas grand chose. Je n'arrive pas non plus à l'enlever.

    Cdlt
    Fichiers attachés Fichiers attachés

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Pour l'instant, je n'ai pas eu le temps de regarder en détail. Toutefois, ton fichier "a.txt" est au format Unix (LF uniquement en fin de ligne), et non pas DOS (paire CR/LF)... Peut-être une piste à suivre.

    Par contre, en supprimant la ligne vide à la fin de ton "a.txt", ça corrige le problème. Toutefois, le fichier "c.txt" résultant est crade, car il y a un mélange des fins de ligne DOS et Unix : j'ai donc converti le fichier au format DOS, relancé le batch, et là c'est nickel.

    Reste à automatiser tout ça : je regarderais ça plus attentivement demain au plus tard.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour,

    Merci pour le déterrage.....

    Je te propose ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    setlocal DisableDelayedExpansion
    set "firstLineReady="
    (
        for /F "eol=$ delims=" %%a in (test.txt) DO (
            if defined firstLineReady (echo()
            set "firstLineReady=1"
            <nul set /p "=%%a"
        )
    ) > out.txt
    Relis le fichier ligne à ligne, si ligne vide alors pas de retour à la ligne, donc plus de ligne en plus à la fin.

Discussions similaires

  1. SPOOL : Effacer dernière ligne vide du fichier.
    Par Ujitsu dans le forum Sql*Plus
    Réponses: 6
    Dernier message: 30/07/2007, 18h15
  2. suppression de la dernière ligne vide d'un fichier text en VB6
    Par zcoul dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/07/2007, 19h45
  3. Effacer la dernière ligne d'un fichier texte
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2007, 11h52
  4. Supprimer 1ère et dernière ligne d'un fichier
    Par yabbiyou dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/03/2007, 09h05
  5. Comment lire la dernière ligne d'un fichier text.
    Par Ardely dans le forum Delphi
    Réponses: 29
    Dernier message: 20/01/2007, 23h29

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