So gruppieren Sie "Nur in" Zeilen in diff am Anfang der Ausgabe

293
durron597

Ich tat:

diff -r directory1/ directory2/ 

Einige Dateien unterscheiden sich, und einige Dateien befanden sich nur in der einen oder anderen Baumstruktur, wodurch mehrere Only in ...Zeilen erstellt wurden.

Wie gruppiere ich diese Zeilen am Anfang der Datei? Ich bin zu 99,9% sicher, dass keines der Verzeichnisse eine Zeile enthält, die mit beginnt Only in. Ich dachte über etwas nach:

diff -r directory1/ directory2/ | grep -v `^Only in` 

Aber das entfernt sie, anstatt sie zu gruppieren. Und sorttut auch nicht, was ich will, weil ich die tatsächlichen Vergleiche in ihrer Reihenfolge halten möchte.

0

1 Antwort auf die Frage

1
devnull

Ein Ansatz könnte darin bestehen, die diffAusgabe in eine Datei umzuleiten und dann grepdie beiden Teile zu trennen:

diff -r directory1/ directory2/ > temp { grep '^Only in' temp; grep -v '^Only in' temp; } > diff.output 
Vielen Dank! Kann man das in einer Zeile machen? Nicht entscheidend, nur neugierig. durron597 vor 10 Jahren 0
@ durron597 Keine Möglichkeit, die mir einfällt! devnull vor 10 Jahren 0