Ignorer Astérix (*) en faisant un diff sous Linux

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é.