diff sur les colonnes de deux fichiers en shell

Je veux faire une chose très simple. J’ai deux fichiers comme suit:

FILE 1: A s1 p1 B s2 p2 C s3 p3 FILE2: B s4 p4 A s1 p1 C s6 p6 

Je veux extraire la première et la troisième colonne du fichier et imprimer le diff de ce fichier. Une méthode simple consiste à créer des fichiers intermédiaires avec les deux fichiers coupés -f1,3 et à faire de la diff. C’est exactement ce que je veux que ma sortie soit. Mais je ne veux pas créer de fichier intermédiaire. Tout simple paquebot pour le faire.

Encore une chose, les deux fichiers ne sont PAS sortingés, donc impossible d’utiliser directement la jointure.

Essaye ça:

 diff <(cut -f1,3 file1) <(cut -f1,3 file2) 

Les références:

Comparer deux fichiers ligne par ligne et générer la différence dans un autre fichier

Utiliser [substitution de processus]

 diff -y <( awk '{print $1,$3}' file1) <( awk '{print $1,$3}' file2 ) 

devrait le faire. Remarque L'option -y avec diff est pour o / p côte à côte.