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 :

comparer dans 2 fichiers


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut comparer dans 2 fichiers
    bonjour,

    J aimerai essayer de savoir si un un mot present dans un fichier, l est dans l autre.

    Voici la structure de mes fichiers :

    fichier 1 (file1.txt) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    toto
    titi
    tata
    .....
    fichier 2 (file2.txt) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tutu
    tete
    toto
    .....

    pour cela je pansai faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat file1.txt | awk '{v1=$1; while read line; do awk'{ [ v1 -eq $1 ] ; then print v1}}'; done < file2.txt'

    je m explique j affiche le contenu de file1.txt vers la sortie standard.
    le recupère ligne par ligne grâce a awk, et je stock la valeur $1 dans la variable v1. Ensuite j'ouvre le fichier file2.txt, je recupère ligne par ligne les mots que je compare à v1. Si c'est égale, il m affiche $1.

    Or ceci ne marche pas ...

    Qulqu un pourrais me dire ou sont les erreurs.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    Aie Aie, syntaxe ....!

    ton 'trucs est plutot compliqué !
    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
     
    bash-3.1$ cat test.fic
    toto
    titi
    tutu
    oto
    bash-3.1$ cat test1.fic
    tuti
    toto
    otoa
    velo
    bash-3.1$ cat aa
    #!bin/sh
    while read ligne
    do
            if $(grep -q $ligne test.fic)
            then
                    echo $ligne est dans les deux fichiers
            fi
    done < test1.fic
    bash-3.1$ sh aa
    toto est dans les deux fichiers
    bash-3.1$
    voila c'est, il me semble, plus lisible et plus simple .

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 36
    Par défaut Alternative avec join
    Hello,

    sous réserve que les fichiers puissent être triés, la recherche de mots commun peut être faite avec la commande join.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sort file1.txt > file1_sorted.txt
    sort file2.txt > file2_sorted.txt
    join file1_sorted.txt file2_sorted.txt
    Join affiche alors tous les mots communs entre les deux fichiers triés.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut
    merci.
    Moi j essayai de le faire en une seul ligne .
    un plus comme je debute raison de plus pour le faire sur plusieurs ligne.

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

Discussions similaires

  1. Chercher et comparer dans un fichier
    Par anass_59 dans le forum Général Python
    Réponses: 1
    Dernier message: 29/05/2009, 13h53
  2. comparer un résultat dans un fichier et remonter une alerte
    Par bomonde dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 18/02/2009, 16h18
  3. Réponses: 4
    Dernier message: 29/01/2009, 10h40
  4. envoyer une structure dans un fichier et le comparer.
    Par gindrou dans le forum Débuter
    Réponses: 3
    Dernier message: 09/12/2008, 18h13
  5. Réponses: 9
    Dernier message: 16/11/2006, 15h23

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