J’essaie d’utiliser la commande diff standard sous Linux pour trouver des différences dans 2 fichiers. Le contenu du fichier est le suivant:
Fichier1
Jim Jack Tracy* Michelle
Fichier2
Jim Jack Tracy Michael
diff File1 File2 me donne les informations suivantes:
< Tracy* Tracy > Michael
Cependant, je veux que diff ignore l’astérix (*) et donne la sortie suivante:
Michael
Est-il possible de faire ça ?
En utilisant l’approche de ShinTakezou, mais cette fois en utilisant sed
:
diff <(sed 's/\*$//' file1) <(sed 's/\*$//' file2)
Essayer
diff -I '*$' FILE1 FILE2
-I RE –ignore-matching-lines = RE
Ignorer les modifications dont toutes les lignes correspondent à RE
Remarque: cela ne fonctionne qu’avec les astérisques de fin de ligne.
Si vous utilisez un diff qui n’a pas l’option -I
, vous pouvez extraire des lignes contenant des écanvass dans des fichiers temporaires, puis différez les fichiers temporaires. Si vous utilisez bash, vous pouvez utiliser “deux tuyaux”, mais si vous en avez probablement, vous avez aussi le diff avec l’option -I
. En tout cas ce serait
sed 's/*$//' file1 >file1.temp sed 's/*$//' file2 >file2.temp diff file1.temp file2.temp
ou
diff <(sed 's/*$//' file1) <(sed 's/*$//' file2)
(pas testé, mais ça pourrait fonctionner dans d'autres shells aussi)
Notez que "l'écanvas" est supprimée et du sharepoint vue des différences, elle n'a jamais existé.