Для кольорових труб різниться менше:
diff $file1 $file2 | colordiff | less -r
Щоб зробити його більш зрозумілим, обмеживши його одним екраном:
diff -uw $file1 $file2 | colordiff | less -r
І щоб менше не відображалося, якщо вміст містить лише один екран:
diff -uw $file1 $file2 | tee /dev/stderr | colordiff | less -r -F
-F змушує менше закриватися відразу, якщо є менше одного екрана з урахуванням вмісту, труба до stderr полягає в тому, що, коли менше закривається, ви втрачаєте вихід - переходячи на stderr, він отримує вихід, навіть якщо менше не відображається.
Альтернативний (і, я думаю, кращий) спосіб - просто використовувати -X, щоб запобігти меншому очищенню екрана:
diff -uw $file1 $file2 | colordiff | less -r -X -F
Це добре працює для мене, але може бути специфічним для bash. colordiff не є вбудованим, але легко встановлюється.
less -RM +Gg
: superuser.com/questions/64972/…