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 :

Comment concatener toutes les lignes d'un fichier avec toutes les autres d'un autre ?


Sujet :

Shell et commandes GNU

  1. #21
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Citation Envoyé par [ZiP] Voir le message
    Bonjour,
    Je viens de tester votre commande, le print $0 ne semble pas marcher car la ligne commence par un "." suivi du contenu du fichier 1.
    Ce que tu n'as pas compris, c'est que tu as une ligne vide et que quand tu fais le produit cartésien que tu demandes, la ligne vide avec le fichier 1 donne le fichier 1. Tout est normal.

    Bonjour,

    Je dois avoir un problème...
    Hizoka avait pourtant bien pris le temps de ne pas mettre 2 redirections pour t'éviter les problèmes.
    Il faudrait ouvrir un canal perso pour le fichier 2.


    Mais plutôt que de se prendre le chou, prends donc la solution avec awk 4 fois plébiscitée.

    ☃ Joyeux noël ! ☃
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  2. #22
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Citation Envoyé par Jipété Voir le message
    si fic1.txt et fic2.txt sont créés sous Windows ça donne ça en rajoutant un retour-chariot à la fin de la dernière ligne (puisqu'il est absent), avant d'enregistrer
    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
    # cat fic1.txt 
    aaa
    bbb
    ccc
    ddd
    # cat fic2.txt 
    eee
    fff
    ggg
    hhh
    # join -j2 -o 1.1 2.1 fic1.txt fic2.txt | tr ' ' '.'
    .eee
    .fff
    .ggg
    .hhh
    .eee
    .fff
    .ggg
    .hhh
    .eee
    .fff
    .ggg
    .hhh
    .eee
    .fff
    .ggg
    .hhh
    Et en enlevant ce retour-chariot pour me mettre en correspondance avec ce que tu nous donnes
    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
    # join -j2 -o 1.1 2.1 fic1.txt fic2.txt | tr ' ' '.'
    .eee
    .fff
    .ggg
    .hhh
    .eee
    .fff
    .ggg
    .hhh
    .eee
    .fff
    .ggg
    .hhh
    ddd.eee
    ddd.fff
    ddd.ggg
    ddd.hhh
    Donc en gros, il est interdit/impensable/inapproprié de traiter des fichiers Windows avec des outils Linux sans les avoir convertis au préalable, surtout quand les fichiers sont mal formés.

    Et en plus on dirait bien que tu utilises des fichiers source différents de ceux que tu as donnés dans ton 1er post...

    On n'y arrivera pas comme ça.
    Effectivement, mes fichiers sont créés avec Notepad++ sous Windows car je les édite via WinSCP sur un serveur Linux.

    Je suis perdu !

    ZiP

  3. #23
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Ce que tu n'as pas compris, c'est que tu as une ligne vide et que quand tu fais le produit cartésien que tu demandes, la ligne vide avec le fichier 1 donne le fichier 1. Tout est normal.


    Hizoka avait pourtant bien pris le temps de ne pas mettre 2 redirections pour t'éviter les problèmes.
    Il faudrait ouvrir un canal perso pour le fichier 2.


    Mais plutôt que de se prendre le chou, prends donc la solution avec awk 4 fois plébiscitée.

    ☃ Joyeux noël ! ☃
    Bon, je jette l'éponge...

    Je vais essayer de trouver comment convertir mon fichier et faire marcher votre exemple avec awk.

    Joyeux Noël à tous et merci quand même pour le temps accordé !

    ZiP

  4. #24
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 721
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 721
    Points : 15 111
    Points
    15 111
    Par défaut
    Citation Envoyé par [ZiP] Voir le message
    Bon, je jette l'éponge...

    Pas n'importe où ni n'importe comment, ça doit pouvoir se recycler :

    Citation Envoyé par [ZiP] Voir le message
    comment convertir mon fichier
    unix2dos et dos2unix sont tes amis, surtout le second, en l'espèce.

    Ne pas oublier qu'on ne peut pas mettre de l'essence dans un moteur Diesel et inversement.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #25
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Oui. Jipété a raison.

    Tes fichiers sortant de notepad++ doivent avoir des fins de lignes en \r\n alors que Linux veut des fins de ligne en \n.
    Que deviennent les \r ?
    Ils sont compris comme des retours en arrière sur la même ligne.
    Et donc écrire la suite écrase ce qui a déjà été affiché.
    (Comme une jauge de téléchargement dans la console par exemple).

    Une fois que tu as supprimé les \r, comment windows voit les fichiers ?
    Comme une seule ligne.


    Il n'y a pas d'encodage parfait.

    Et on ne parle pas de MacOS qui fait des fins de lignes en \r.
    Parachèvement de la crise de nerfs.

    Courage
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #26
    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
    Citation Envoyé par [ZiP] Voir le message
    mes fichiers sont créés avec Notepad++ (...) Je suis perdu !
    ça tombe bien, notepad++ a une option dans le menu édition -> convertir les sauts de ligne

  7. #27
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Merci pour vos réponses !

    J'ai converti mes fichiers et le awk fonctionne à merveille !

    Problème enfin résolu

    Joyaux Noël et merci pour le temps que vous m'avez consacré !!

    ZiP

  8. #28
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    ça tombe bien, notepad++ a une option dans le menu édition -> convertir les sauts de ligne
    Oui. Mais veut-on tirer la couverture à soi ?...

    (lookahead suspensif)
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #29
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    ça tombe bien, notepad++ a une option dans le menu édition -> convertir les sauts de ligne
    Merci pour l'information !

    ZiP

  10. #30
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 721
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 721
    Points : 15 111
    Points
    15 111
    Par défaut
    Citation Envoyé par [ZiP] Voir le message
    Problème enfin résolu
    En voilà une histoire qui finit bien !

    Merci pour le retour complet, le bouton , toussa toussa,

    Quelle équipe

    Ça nous change du Mastermind...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/05/2016, 13h36
  2. Réponses: 2
    Dernier message: 04/11/2014, 15h36
  3. Remplacer les lignes d'un fichier excel par les lignes d'un autre fichier
    Par nandy.c dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 17/05/2013, 14h35
  4. afficher les lignes d'un fichier qui ne sont pas dans lun autre fichier
    Par israellita dans le forum Shell et commandes GNU
    Réponses: 16
    Dernier message: 11/03/2011, 11h39
  5. Lire les lignes d'un fichier avec csh
    Par nicolas581 dans le forum Linux
    Réponses: 4
    Dernier message: 24/03/2010, 16h38

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