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

Unix Discussion :

[Unix] supprimer le dernier saut de ligne dans un fichier


Sujet :

Unix

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [Unix] supprimer le dernier saut de ligne dans un fichier
    Bonjour,

    j'ai balayé tout le Net, je n'ai pas trouvé réponses à mon cas.

    Voici mon problème :
    j'ai en sortie d'un programme Cobol : un fichier en line sequential qui se termine par un saut de ligne (line feed).
    Et ce saut de ligne "indésirable" me pose problème pour la suite du traitement.

    AAAAAAAA
    BBBBBBBBB
    CCCCCCCC
    \n (0a00)

    je cherche une commande pour supprimer ce "\n" en fin de fichier de sorte à ce que mon fichier se termine par la ligne CCCCCCC
    et pas par une nouvelle ligne.

    Merci.

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    J'ai essayé la commande et la ligne CCCCCC a été supprimé en laissant toujours ce saut de ligne.

    Résultat sed '$d' file > file1 :

    AAAAAAAA
    BBBBBBBBB
    \n

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    ??
    Quel Unix utilises-tu ?

    Peux-tu envoyer le contenu complet de ton fichier source:

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    version : AIX fld001 3 4 00562A7A4C00
    fld001:base de dev

    voici le contenu du fichier (j'ai retouché uniquement les valeurs):
    Comment dire à Unix que c'est le dernier "\n" de la dernière ligne qu'il faut supprimer et pas les autres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    0   3   0   8                                   1   1   6   5 
    5   7                               1   2   0   1   0   A   Z 
    E   R   T   Y       A   B   C   D   E   R   F                 
                            0   0   0   0   3   6   1             
                                                                  
    E                       0   0   1   2   3   4   5   6   7   8 
    9   1   0   1   1   7                                         
                                                                  
                                                                  
                        3   0   0   0   4  \n   0   6   0   8     
                                1   1   6   1   5   7   F   L   1 
    2   3   4   5   6   6   6           T   O   T   O   I   G   E 
    R                                                   M   A   R 
    C                                                             
                                                                  
        0   1   2   3   4   5   6   7   8   9   8   7   6   5   4 
    6   0   0   0   0   0   0   0   0   0   0   0   0   3   3   0 
    0   *   F   L   1   2   3   4   5   6   6   6           9   1 
    9   4   9                                                     
    2   0   0   4   1  \n   0   6   0   8                         
            1   1   6   1   5   7   F   L   1   2   3   4   5   6 
    2   6           D   A   D   A   D   A                         
                                    G   A   E   L                 
                                                                  
                                                    1   2   3   4 
    5   6   7   8   9   8   7   6   5   4   3   0   0   0   0   0 
    0   0   0   0   0   0   0   0   1   6   0   0   *   F   L   1 
    2   3   4   5   6   2   6           9   1   9   4   9         
                                                1   5   5   8   9 
    n   0   8   0   8                                   1   1   6 
    1   5   7                                                     
                                                                  
                                                                  
                                0   0   0   0   0   0   0   0   0 
    1   7   8   5   4   0   2  \n
    Et bizarement, je ne sais pas si c'est lié : mais mes enregistrements sont sur 154 caractères alors que dans mon programme cobol j'ai indiqué 160 caractères. Les 6 derniers étant normalement 6 espaces. J'ai l'impression que ma version unix tronque la ligne : [retour chariot + saut à la ligne] lorsqu'il voit un space à la fin d'un enregistrement.

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Ce que tu affiche ne ressemble pas a la sortie de la commande "od" sur un Unix standard. Il semble de toute façon que tu ne souhaites pas effacer la dernière ligne comme je l'avais compris dans ton premier post mais que tu veux simplement supprimer le dernier caractère du fichier.

    Ceci devrait marcher, (sauf exotisme d'AIX)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd if=file of=file1 bs=$(expr $(/bin/ls -l file | awk '{print $5}') - 1) count=1

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut

    Ca a fonctionné! Comment te dire...tu m'enlève une épine, non un clou du pied. Merci beaucoup.

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

Discussions similaires

  1. Supprimer les sauts de lignes dans un fichier
    Par Tornade8912 dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/03/2015, 13h49
  2. Réponses: 7
    Dernier message: 28/06/2006, 13h31
  3. [MFC] Saut de ligne dans un fichier texte
    Par le-makinero dans le forum MFC
    Réponses: 2
    Dernier message: 18/04/2006, 10h40
  4. Saut de ligne dans mon fichier?
    Par cchampion2fr dans le forum Access
    Réponses: 1
    Dernier message: 14/09/2005, 16h22
  5. Saut de ligne dans un fichier .properties ?
    Par Shakta dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 06/09/2005, 14h20

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