Bonjour,
Besoin de vos lumières car je tourne en rond. J’aimerais faire remonter les différences entre les deux fichiers ci-dessous :

Fichier file1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
tutu 123
azerty 454
toto 45
qwerty 9879
titi 789
tete 7667
salut 387
Fichier file2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
tutu 123
toto 6745
qwerty 9879
tete 8037
salut 387
C’est-à-dire un script qui me dit que « azerty » ne figure pas dans file2, que « toto » est différent dans file2, que « titi » ne figure pas dans file2, etc……

En revanche j’arrive à sortir les lignes identiques avec le script suivant :

Script compare.sh :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
while read line1; do
        while read line2; do
                if [ "$line2" = "$line1" ]
                then
                        echo "Les lignes $line1 et $line2 sont identiques"
                        break
                fi
        done < file2
done < file1
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Les lignes tutu 123 et tutu 123 sont identiques
Les lignes qwerty 9879 et qwerty 9879 sont identiques
Les lignes salut 387 et salut 387 sont identiques
J’aimerais plutôt faire ressortir les différences et pas les analogies.

Avez-vous une évolution de mon script à me proposer ?

Merci.