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

Shell et commandes GNU Discussion :

Insertion de séparateurs dans un fichier TXT


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Par défaut Insertion de séparateurs dans un fichier TXT
    Bonjour la communauté,

    j'ai desoin de votre precieux aide. j'ai un fichier au format TXT resultant d'un traitement particulier.
    dans ce fichier TXT les champs ne sont pas representés par un separateur.
    est ce qu'il ya une commande en linux qui permettra d'inserer les separateurs dans le fichier TXT?
    ci dessous un apercu d'une ligne dans mon fichier TXT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBLADE               VASVI               3388           02601406       201701032348310000000100                  SMSV        PREPAID
    merci pour votre aide.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    la réponse était donnée dans le sujet dans lequel tu as posté ton message : sed.

    mais, comment vas-tu savoir où insérer ces séparateurs ?
    parce que, moi, je vois bien qu'il y a un espace, ou une tabulation, qui sépare les données !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Par défaut
    l'entête des champs est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EVENT_DIRECTION INCOMING_NODE OUTGOING_NODE INCOMING_PATH OUTGOING_PATH A_NUMBER B_NUMBER EVENT_START_DATE EVENT_START_TIME EVENT_DURATION DATA_VOLUME DATA_UNIT INCOMING_PRODUCT OUTGOING_PRODUCT USER_SUMMARISATION
    c'est selon ceci que je sais ou doit être positionné le séparateur.

    comment utilisé la commande sed à ce niveau?

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    ce n'est pas la ligne d'en-tête qui définit le séparateur de données.
    cette ligne d'en-tête définit/indique uniquement les données que contiennent les colonnes !

    il faut savoir deux choses :
    - ce que tu veux remplacer
    - ce par quoi tu veux le remplacer.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    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
    Par défaut
    Les champs fournis dans le premier post ne correspondent pas aux labels des colonnes, ou alors, il y a des champs vides.

    Il faudrait savoir ce que contient réellement le fichier texte, par exemple avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    head -3 fichier.txt | od -c

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par debogger Voir le message
    j'ai un fichier au format TXT resultant d'un traitement particulier.
    dans ce fichier TXT les champs ne sont pas representés par un separateur.
    je suppose que tu veux dire "séparés".

    est ce qu'il ya une commande en linux qui permettra d'inserer les separateurs dans le fichier TXT?
    ci dessous un apercu d'une ligne dans mon fichier TXT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBLADE               VASVI               3388           02601406       201701032348310000000100                  SMSV        PREPAID
    Pour répondre à ta question, nous avons besoin des spécifications précises du format de ton fichier.

    Peux-tu nous les donner?

    Par exemple, les champs ont-ils une longueur fixe?

    Y a-t-il des tabulations ou des espaces? combien?

    Sinon, as-tu le source du traitement particulier ayant généré ce fichier?

Discussions similaires

  1. [WD15] Aide d'insertion dans un fichier txt suite à des messures
    Par zakarinalaw dans le forum WinDev
    Réponses: 3
    Dernier message: 23/03/2013, 20h04
  2. Réponses: 1
    Dernier message: 28/08/2012, 15h15
  3. Réponses: 1
    Dernier message: 31/03/2011, 18h16
  4. Insertion de lignes dans un fichier txt
    Par chaton1930 dans le forum MATLAB
    Réponses: 6
    Dernier message: 15/07/2009, 16h07
  5. séparateurs dans un fichier
    Par manuhard dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2002, 11h30

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