2016-12-05 14 views
14

Mam porównanie dwóch plików tekstowych i uzyskać następujący wynikUnix diff - jak ignorować zakończenia linii podczas porównywania plików?

diff file1 file2 | grep 12345678 

> 12345678 
< 12345678 

Jak widać ten sam ciąg istnieje w obu plikach, a oba pliki zostały posortowane ze sort.

Koniec linii musi być przeszkadzający w tym miejscu (Windows vs Unix).

Czy istnieje sposób, aby diff zignorować zakończenia linii w systemie UNIX?

+2

'diff --strip-trailing-cr plik1 plik2'? –

+0

@RuslanOsmanov brzmi jak odpowiedź, dziękuję. Btw jest taki sam jak '-w'? – vikingsteve

+0

Nie, '-w' ignoruje różnice w białych przestrzeniach, a znaki" Biała przestrzeń "obejmują zakładkę, pionową kartę, kanał formularza, powrót karetki i spację". Na przykład, 'diff ab' pokaże różnicę dla' line' i ' line', ale' diff -wab' nie będzie –

Odpowiedz

24

Użyj opcji --strip-trailing-cr:

diff --strip-trailing-cr file1 file2 

opcja powoduje diff strip tyłu znak powrotu karetki przed porównywania plików.

+2

Dzięki! Próbowałem użyć 'diff -w', który dał podobne wyniki, ale jest to najbardziej poprawna odpowiedź. – vikingsteve

Powiązane problemy