Double lecture de fichier ligne par ligne

Résolu
padowan Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
padowan Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
bonjour ,

J'ai suivi le "cours" pour la lecture de fichier ligne par ligne (jicipy)

Comment lire un fichier ligne par ligne

Je voudrai lire un fichier ligne par ligne , et comparer en même temps avec les ligne d'un autre fichier.

exemple :
-------------------------
fichier 1 :
toto
titi
tata
------------------------
fichier 2
un

trois
tata
cinq
titi
-------------------------

je voudrai tester le fichier un et le fichier deux en même temps et que ça me renvoi par exemple ceci :

fichier 3
------------------------
non
non
non
ok
non
ok

Voila ce que j'ai déjà fais mais c'est moyen


#! /bin/bash

while read line
do
while read toto
do
if [ $line = $toto ]; then
echo "ok"
else
echo "raté"
fi
done < temp4
done < temp5

Merci de m'aider
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

J'ai plutôt l'impression que ce que tu veux faire c'est de chercher si une ligne présente dans "fichier 2" l'est aussi dans "fichier 1" et ce sans se soucier de la place dans le fichier, non ?
[tmpfs]$ cat foo.sh
#! /bin/bash

#set -xv

while read ligne
do grep -x "$ligne" fichier1 >/dev/null
retval=$?
case "$retval" in
0)      echo "Ok"
        ;;
1)      echo "Non"
        ;;
*)      exit
        ;;
esac
done < fichier2

[tmpfs]$ cat fichier1
toto
titi
tata

[tmpfs]$ cat fichier2
un

trois
tata
cinq
titi

[tmpfs]$ ./foo.sh
Non
Non
Non
Ok
Non
Ok

[tmpfs]$
Sinon pour comparer 2 fichiers il y a des utilitaires comme "diff" (diff3 pour 3 fichiers), "cmp" et "comm".

;-))
1
padowan Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   3
 
Franchement tes génial.

Je te dirai la note que j'aurai à mon stage

Merci encor
0