Mailinglist Archive: opensuse-de (1756 mails)
| < Previous | Next > |
Re: find und Ordnergroesse
- From: Al Bogner <suse-linux@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 20 Oct 2006 22:19:06 +0000 (UTC)
- Message-id: <200610210018.54229.suse-linux@xxxxxxxxxxxxxxxxxxxx>
Am Freitag, 20. Oktober 2006 17:15 schrieb David Haller:
Hallo David,
erstmal vielen Dank für dein Perl-Script! Vielleicht ist die Aufgabenstellung
zu wenig klar, aber irgendwo/-wie in meinen Scripts hatte ich ähnliches schon
mit der Bash gelöst. Mir fällt aber nicht mehr genau ein, zu welchem Anlaß das
war. Vermutlich war es aber für deine Begriffe auch zu umständlich, aber es
brachte das gewünschte Ergebnis. In einem simplen "Einzeiler" geht es mit
Perl a auch nicht. Ich würde daher dazu ein paar zusätzliche Fragen stellen,
weil ich aus dem Shellscript nicht Perl aufrufen möchte (ja, ja ich sollte
gleich mit Perl anfangen ;-) )
find "$2" -follow -type f -name "*.txt" ... | sort ...
Ich weis nicht, wie ich die Dateigröße (nicht Ordnergröße) liste,
also etwa so
3500000 /a/b/c
4500000 /a/b/d
1200000 /e/f
Nehmen wir an, ich will das eventuell sowieso in einer Datei protokollieren.
Im nächsten Schritt wird dann diese Datei so manipuliert, dass folgendes
übrigbleibt. Vermutlich kann man das mit awk machen.
3500000 b
4500000 b
1200000 e
Eventuell kann man die beiden Teile auch in einer Pipe mit xargs abarbeiten.
Jetzt fällt mir auch wieder ein, wie ich das damals mit der Gruppierung
gemacht habe, ich denke ich habe damals Teile in einer MySQL-DB verarbeitet,
weil damals von dort die Daten kamen.
Beim Gruppieren stehe ich nun mit der Bash an. Ich kann aber fast nicht
glauben, dass da Perl der einzige Ausweg ist um das zu erreichen:
8000000 b
1200000 e
Ich bin auch gerade am überlegen, ob ich nicht sowieso das Suchergebnis in der
MySQL-DB haben will, dann wäre jedenfalls das Gruppieren kein Problem mehr.
Die Performance ist vernachlässigbar, ich denke das Suchergebnis ergibt so um
die 500-1000 Dateien.
Al
Hallo David,
erstmal vielen Dank für dein Perl-Script! Vielleicht ist die Aufgabenstellung
zu wenig klar, aber irgendwo/-wie in meinen Scripts hatte ich ähnliches schon
mit der Bash gelöst. Mir fällt aber nicht mehr genau ein, zu welchem Anlaß das
war. Vermutlich war es aber für deine Begriffe auch zu umständlich, aber es
brachte das gewünschte Ergebnis. In einem simplen "Einzeiler" geht es mit
Perl a auch nicht. Ich würde daher dazu ein paar zusätzliche Fragen stellen,
weil ich aus dem Shellscript nicht Perl aufrufen möchte (ja, ja ich sollte
gleich mit Perl anfangen ;-) )
find "$2" -follow -type f -name "*.txt" ... | sort ...
Ich weis nicht, wie ich die Dateigröße (nicht Ordnergröße) liste,
also etwa so
3500000 /a/b/c
4500000 /a/b/d
1200000 /e/f
Nehmen wir an, ich will das eventuell sowieso in einer Datei protokollieren.
Im nächsten Schritt wird dann diese Datei so manipuliert, dass folgendes
übrigbleibt. Vermutlich kann man das mit awk machen.
3500000 b
4500000 b
1200000 e
Eventuell kann man die beiden Teile auch in einer Pipe mit xargs abarbeiten.
Jetzt fällt mir auch wieder ein, wie ich das damals mit der Gruppierung
gemacht habe, ich denke ich habe damals Teile in einer MySQL-DB verarbeitet,
weil damals von dort die Daten kamen.
Beim Gruppieren stehe ich nun mit der Bash an. Ich kann aber fast nicht
glauben, dass da Perl der einzige Ausweg ist um das zu erreichen:
8000000 b
1200000 e
Ich bin auch gerade am überlegen, ob ich nicht sowieso das Suchergebnis in der
MySQL-DB haben will, dann wäre jedenfalls das Gruppieren kein Problem mehr.
Die Performance ist vernachlässigbar, ich denke das Suchergebnis ergibt so um
die 500-1000 Dateien.
Al
| < Previous | Next > |