Chcę porównać linie w dwóch plikach, ale aby zminimalizować szum na wyjściu, chcę, aby drukowane były tylko rzeczywiste różnice w liniach.
Na przykład, biorąc pod uwagę dwa poniższe pliki:
a.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z
b.txt
a B c d e f g h i j k l m n o p q r s t u v w x y z
(różnica między nimi jest w przypadku listu b
)
Chcę, aby wynik był jak:
[-b-]{+B+}
Obecnie najlepszym podejściem, jakie znalazłem, było zastosowanie git diff --word-diff
, ale generuje całą linię:
a [-b-]{+B+} c d e f g h i j k l m n o p q r s t u v w x y z
Czy istnieje bardziej bezpośredni sposób na to, niż ręczne analizowanie danych wyjściowych? Idealnie wolałbym również użyć czegoś bardziej powszechnie dostępnego niż git diff
np. Narzędzie powłoki POSIX, które nie wymagałoby od użytkownika instalowania dodatkowych pakietów.
b
a B
więc to oczywiste? Rozumiem, że była to prawdopodobnie faktyczna różnica, ale dla celów pytania możesz to ułatwić.