A part la modification de la variable IFS qui est inutile ici et dangereuse pour le reste du script (si besoin, il faut la sauvegarder dans une autre variable pour la rétablir ensuite et non pas faire un unset dessus).
Comme on a pas tout le script, on suppose que le fichier $C1_Fichier_Resultat est vidé avant car sinon ton problème vient peut-être de là (il y a encore les ancien résultat de tes précèdents tests).
Sinon, cela peut venir des données elles-même qui faussent l'expression régulière, car pour moi ton script fonctionne avec les modifications que je te suggère plus haut.
Sinon, une autre façon de faire:
Ici, on veut savoir les lignes présentes dans le fichier B.txt mais absentes dans A.txt:
1) On trie le fichier B.txt et on s'arrange pour n'avoir qu'une seule fois les lignes en double:
2) On double toutes les lignes du fichier A.txt (voici 2 façons de faire):
ou
3) On trie la totalité des résultats (sort) puis on affiche que les lignes qui sont unique (uniq -u)
Ce qui donne:
(sort -u B.txt;cat A.txt A.txt) | sort | uniq -u
ou
(sort -u B.txt;sed -e 'p' A.txt) | sort | uniq -u
Partager