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 :

fichier texte : concaténer ligne 2 à 2


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 221
    Points : 207
    Points
    207
    Par défaut fichier texte : concaténer ligne 2 à 2
    Bonjour,

    J'ai un fichier texte dont l'affichage me donne cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    +/ZC01   /R=00080/CU1A
    +/IRL=N          PS=10811
    +/ZC01   /R=00080/CU1A
    +/IRL=N          PS=10832
    +/ZC01   /R=00080/CU1A
    +/IRL=N          PS=3420
    +/ZC01   /R=00080/CU1A
    +/IRL=N          PS=10844
    +/ZC01   /R=00080/CU1A
    +/IRL=N          PS=10813
    Via une commande en ligne (awk ou autre), je souhaite concaténer les lignes 2 à 2 afin d'obtenir le résultat ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    +/ZC01   /R=00080/CU1A  +/IRL=N          PS=10811
    +/ZC01   /R=00080/CU1A  +/IRL=N          PS=10832
    +/ZC01   /R=00080/CU1A  +/IRL=N          PS=3420
    +/ZC01   /R=00080/CU1A  +/IRL=N          PS=10844
    +/ZC01   /R=00080/CU1A  +/IRL=N          PS=10813
    si quelqu'un peux m'aider sur cela...

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 221
    Points : 207
    Points
    207
    Par défaut
    Finalement google m'a apporté la réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat Listing_alarms_18-10-2010.txt | awk '{printf $0 "\t"; getline; print $0}'

  3. #3
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par mamax29 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat Listing_alarms_18-10-2010.txt | awk '{printf $0 "\t"; getline; print $0}'
    Appel inutile à cat, préférer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{printf $0 "\t"; getline; print $0}' Listing_alarms_18-10-2010.txt

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    sed est moins compréhensible, mais utilise moins de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 'N; s/\n/\t/' Listing_alarms_18-10-2010.txt
    ou, pour les systèmes qui ne supportent pas \n et \t :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed 'N; s/\
    /        /' Listing_alarms_18-10-2010.txt
    où la tabulation est obtenue par ctrl-v-i
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 27
    Points : 7
    Points
    7
    Par défaut 3 à 3
    Bonjour,
    et si on veux le faire pour concaténer 3 à 3 ou 5 à 5 comment faire merci

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 27
    Points : 7
    Points
    7
    Par défaut Concaténer ligne 5 à
    merci tout le monde j'ai trouver pour 5 par 5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat nom1.csv | awk '{printf $0 ";"; getline; printf $0 ";"; getline; printf $0 ";"; getline; printf $0 ";"; getline; print $0}' > nom2.csv
    pareil pour 3 il faut avoir 3 print merciiiiiiiiiiiiiiiiiiiiiiiiiii

  7. #7
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    pour info tu déterres une discussion qui date de 8 ans, il vaut mieux créer une nouvelle discussion dans ces cas là, d'autant que celle-ci est déjà marquée comme résolue

    sinon sans utiliser awk on peut aussi utiliser paste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ cat > fichier
    1
    hello
    world
    !
    2
    happy
    new
    year
    $ paste -d' ' - - - - < fichier
    1 hello world !
    2 happy new year

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

Discussions similaires

  1. Fichier texte traitement ligne 2*2
    Par hugoclo dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 28/03/2014, 14h12
  2. Parser fichier texte : 1 ligne --> 800 mo!
    Par bigbobby64 dans le forum C#
    Réponses: 3
    Dernier message: 27/11/2012, 09h07
  3. Récupérer contenu d'un fichier texte en ligne
    Par Schnapse dans le forum Langage
    Réponses: 1
    Dernier message: 05/03/2012, 14h15
  4. Réponses: 31
    Dernier message: 20/05/2009, 11h12
  5. Lecture d'un fichier texte avec ligne vide.
    Par cotcouture dans le forum Général Python
    Réponses: 2
    Dernier message: 06/10/2006, 02h54

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