web-dev-qa-db-de.com

unix-Diff-Side-to-Side-Ergebnisse?

Wie kann ich die Ergebnisse eines Unix-Diff-Befehls Seite an Seite anstelle einer Differenz nach der anderen darstellen? Siehe unten für ein Beispiel: 

    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

Ich hätte gerne etwas wie:

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
74
719016

Mit man diff können Sie -y verwenden, um nebeneinander zu arbeiten.

-y, --side-by-side
       output in two columns

Also sagen Sie:

diff -y /tmp/test1  /tmp/test2

Prüfung

$ cat a                $ cat b
hello                  hello
my name                my name
is me                  is you

Vergleichen wir sie miteinander:

$ diff -y a b
hello                                                           hello
my name                                                         my name
is me                                                         | is you
114
fedorqui

Von icdiff homepage :

enter image description here

Ihr Terminal kann Farben anzeigen, aber die meisten Diff-Tools machen davon keinen Gebrauch. Durch das Hervorheben von Änderungen kann icdiff Ihnen die Unterschiede zwischen ähnlichen Dateien anzeigen, ohne sich im Weg zu befinden. Dies ist besonders hilfreich, um kleine Änderungen in vorhandenen Zeilen zu erkennen und zu verstehen.

Anstatt zu versuchen, ein Diff-Ersatz für alle Umstände zu sein, besteht das Ziel von icdiff darin, ein Werkzeug zu sein, mit dem Sie erreichen können, um ein besseres Bild von den Änderungen zu erhalten, wenn dies nicht unmittelbar aus dem diff ersichtlich ist.

IMHO ist seine Ausgabe viel lesbarer als diff -y.

26
timmfin

Sie sollten sdiff für das Zusammenführen von Dateiunterschieden nebeneinander haben. Lesen Sie man sdiff für die gesamte Geschichte. 

8
Chris Seymour

Sie können verwenden:

sdiff  file1 file2

oder 

diff -y file1 file2

oder

vimdiff file1 file2

für nebeneinander Anzeige.

8
srpatcha

Sie können einfach verwenden:

diff -y fileA.txt fileB.txt | colordiff

Es zeigt die Ausgabe in zwei Spalten aufgeteilt und eingefärbt! (colordiff)

Verwenden Sie die -y-Option:

diff -y file1 file2
4

Probieren Sie cdiff - Zeigen Sie farbige, inkrementelle Unterschiede im Arbeitsbereich oder von Standard mit paralleler Unterstützung und Auto-Pager an.

4
ymattw

Sie können vimdiff verwenden.

Beispiel:

vimdiff file1 file2
2
Eduardo Cuomo
diff -y --suppress-common-lines file1 file2
2
Rjazhenka

Wenn Ihre Dateien Leerzeichen und Registerkarten inkonsistent verwenden, kann es hilfreich sein, das Argument -t einzuschließen, um die Registerkarten zu erweitern:

diff -ty file1 file2
0
Bucket