Diff è un ottimo strumento per visualizzare le modifiche tra due file. Ma come visualizzare le somiglianze di due file di testo (ignorando le differenze)?
Cioè. input di esempio:
a:
Foo Bar
X
Hello
World
42
b:
Foo Baz
Hello
World
23
Pseudo output (qualcosa del genere):
@@ 2,3
=Hello World
Ordinare entrambi i file e usare comm non è sufficiente, perché in tal caso le informazioni sulla riga vengono perse.
Risposta accettata:
Che ne dici di usare diff, anche se non vuoi un diff? Prova questo:
diff --unchanged-group-format='@@ %dn,%df
%<' --old-group-format='' --new-group-format=''
--changed-group-format='' a.txt b.txt
Ecco cosa ottengo con i tuoi dati di esempio:
$ cat a.txt
Foo Bar
X
Hello
World
42
$ cat b.txt
Foo Baz
Hello
World
23
$ diff --unchanged-group-format='@@ %dn,%df
%<' --old-group-format='' --new-group-format=''
--changed-group-format='' a.txt b.txt
@@ 2,3
Hello
World