Double lecture de fichier ligne par ligne

Résolu/Fermé
padowan Messages postés 21 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 21 février 2008 - 21 févr. 2008 à 16:17
padowan Messages postés 21 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 21 février 2008 - 21 févr. 2008 à 17:45
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
21 févr. 2008 à 16:58
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 lundi 14 janvier 2008 Statut Membre Dernière intervention 21 février 2008 3
21 févr. 2008 à 17:45
Franchement tes génial.

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

Merci encor
0