unix diff side-to-side results?
Jak mogę wykreślić wyniki uniksowego polecenia diff obok siebie, zamiast jednej różnicy po drugiej? Zobacz 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
10 answers
Z man diff
, możesz użyć -y
, aby zrobić side-by-side.
-y, --side-by-side
output in two columns
Stąd:
diff -y /tmp/test1 /tmp/test2
Test
$ cat a $ cat b
hello hello
my name my name
is me is you
Porównajmy je:
$ diff -y a b
hello hello
my name my name
is me | is you
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-20 08:53:15
Twój terminal może wyświetlać kolor, ale większość narzędzi diff nie wykorzystuje go dobrze. Zaznaczając zmiany, icdiff może pokazać różnice między podobnymi plikami bez wchodzenia w drogę. Jest to szczególnie pomocne w identyfikacji i zrozumieniu małych zmian w istniejących liniach.
Zamiast próbować zastąpić diff we wszystkich okolicznościach, celem icdiff jest być narzędziem, do którego możesz dotrzeć aby uzyskać lepszy obraz tego, co się zmieniło, gdy nie jest to od razu oczywiste z diff.
IMHO, jego wyjście jest znacznie bardziej czytelne niż diff -y
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-21 14:14:01
Powinieneś mieć sdiff
dla scalania różnic między plikami. Przeczytaj man sdiff
, aby dowiedzieć się więcej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-19 15:35:22
Możesz użyć:
sdiff file1 file2
Lub
diff -y file1 file2
Lub
vimdiff file1 file2
Do wyświetlania obok siebie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-26 20:40:53
Możesz po prostu użyć:
diff -y fileA.txt fileB.txt | colordiff
Pokazuje wyjście podzielone na dwa kolumienki i koloryzowane! (colordiff
)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-17 21:12:54
Użyj opcji -y
:
diff -y file1 file2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-19 15:33:18
Try cdiff - wyświetlanie kolorowych, przyrostowych różnic w obszarze roboczym lub ze standardowego wejścia z obsługą side by side i auto pager.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 02:57:40
Możesz użyć vimdiff
.
Przykład:
vimdiff file1 file2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-19 18:26:32
diff -y --suppress-common-lines file1 file2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-03 12:30:40
Jeśli Twoje pliki mają niespójne użycie spacji i tabulatorów, pomocne może okazać się dołączenie argumentu -t
do rozszerzenia tabulatorów:
diff -ty file1 file2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-17 14:14:57