Jak mogę wykreślić wyniki polecenia unix diff obok siebie zamiast jednej różnicy po drugiej? Poniżej przykład:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf
< asdfsad
< fsaf
< fdsadf
---
> asdfsafdsf
> saf
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa
< fd
---
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Chciałbym mieć coś takiego:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf > asdfsafdsf
< asdfsad > saf
< fsaf
< fdsadf
---
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa > sadf
< fd > sadf
--- > sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Odpowiedzi:
Od
man diff
, możesz używać-y
do robienia obok siebie.Dlatego powiedz:
Test
Porównajmy je:
źródło
diff
ma zakodowaną na stałe maksymalną szerokość wyjściową (130 kolumn). Dodaj opcję diff,--width=$COLUMNS
aby ustawić ją na szerokość terminala.diff -y /tmp/test1 /tmp/test2 | less
diff --width=$COLUMNS --suppress-common-lines --side-by-side a b
diff --expand-tabs --width=$COLUMNS --suppress-common-lines --side-by-side a b
Od icdiff na stronie :
IMHO, jego wyjście jest znacznie bardziej czytelne niż
diff -y
.źródło
źródło
-y
pokazuje tylko wspólnediff
kwestie, co nie jest tym samym, co właściwe i oryginalne pytanie. +1.diff -W $COLUMNS --suppress-common-lines -y file1 file2
-W $COLUMNS
. Czy ktoś może eloborowaćMożesz użyć:
lub
lub
do wyświetlania obok siebie.
źródło
diff -y
isdiff
? Ich produkcja wygląda identycznie jak ja.Powinieneś mieć
sdiff
do łączenia obok siebie różnic w plikach. Zapoznaj się zman sdiff
pełną historią.źródło
sdiff
wydaje się robić to samo, co,diff -y
asdiff
dokumentacja informacyjna mówi, że jest przestarzała: „'sdiff' bez '--output' ('-o') tworzy równoległą różnicę. jest przestarzałe; zamiast tego użyj opcji '--side-by-side' ('-y') opcji 'diff'. "Możesz po prostu użyć:
Pokazuje wyjście podzielone na dwie kolumny i pokolorowane! (
colordiff
)źródło
brew install colordiff
SeeSkorzystaj z
-y
opcji:źródło
Wypróbuj cdiff - Wyświetl kolorowe, przyrostowe różnice w przestrzeni roboczej lub ze standardowego wejścia z obsługą obok siebie i automatycznego pagera.
źródło
Możesz użyć
vimdiff
.Przykład:
źródło
Jeśli Twoje pliki mają niespójne użycie spacji i tabulatorów, pomocne może być dołączenie
-t
argumentu rozwijania tabulatorów:źródło
Ulepszone polecenie diff z kolorem, obok siebie i aliasem
Powiedzmy, że zawartość pliku jest następująca:
i
Teraz porównujemy obok siebie
Możesz zdefiniować alias do użycia
Następnie nowy wynik diff:
źródło