[linux-l] Finger weg vom Konqueror als Dateimanager

Mike Dornberger Mike.Dornberger at gmx.de
Sa Feb 25 02:19:36 CET 2006


Hi,

On Fri, Feb 24, 2006 at 09:41:25PM +0100, Volker Grabsch wrote:
> On Fri, Feb 24, 2006 at 05:46:45PM +0100, Mike Dornberger wrote:
> > On Fri, Feb 24, 2006 at 10:23:00AM +0100, Boris Kirkorowicz wrote:

> > > 2a. Wie kann ich zwei Verzeichnisbäume vollständig (also jede
> > > enthaltene Datei binär) vergleichen? Bisher hatte ich dafür REXX
> > > bemüht...
> > 
> > Z. B. mittels
> > 
> > cd DIR1;
> > find -type f -exec cmp "{}" "/path/to/DIR2/{}" \; 2>&1 | less -S
> > 
> > Hier ist das -type f wichtig, da alles andere nicht unbedingt Sinn
> > macht, es inhaltlich vergleichen zu wollen, Probleme gibt oder überhaupt
> > nicht möglich ist oder ...
> 
> Naja, ein
> 
> 	diff -r DIR1 DIR2
> 
> hätte es auch getan. Die Aufgabenstellung "vergleiche" deutet auch schon
> an, dass man zuerst das diff-Kommando zurate ziehen sollte, bevor man
> auf irgendwelche wüsten Shell-Konstruktionen ausweicht.  ;-)

man lernt nie aus, -r hatte ich ganz vergessen. :) Aber so wüst ist das
Shell-Konstrukt gar nicht. Zugegeben, es forkt ein cmp für jedes File, aber
ob es deswegen unbedingt langsamer als diff -r ist? Könnte sein, daß wenn
sich viele Dateien unterscheiden, die find-Variante schneller ist, da ja
diff dann erstmal a) die Dateien Zeilenweise verarbeitet und b) erstmal das
Changeset ausrechnet.

Was genau macht diff eigentlich mit Dateien, die nicht (-type f -or -type d)
sind?

> diff zeigt an, welche Dateien nur in einem der Verzeichnisse auftauchen.
> Außerdem zeigt es bei gemeinsam vorhandenen Dateien die Unterschiede an.
> Mit einigen Optionen (z.B. "-q") kann man diff auch anweisen, nicht
> ganz so ausführlich zu arbeiten.

Hinweis: -q ist nicht mehr POSIX-konform. Kann also auf anderen Plattformen
zu Fehlern führen. Siehe:

http://www.opengroup.org/onlinepubs/007908799/xcu/diff.html

Grüße,
 Mike



Mehr Informationen über die Mailingliste linux-l