[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