On Wednesday 23 August 2006 14:51, Juergen Christoffel wrote: > On Wed, Aug 23, 2006 at 11:38:58AM +0200, Gebhard Dettmar wrote: > > On Tuesday 22 August 2006 16:39, Juergen Christoffel wrote: > > > [...] > > > > Äh, Moment, das findet gar nichts. > > Doch: > > touch a > find * -regex a > a > Stimmt
> Ich schrieb ja zuvor, Du musst "find * -op" nehmen anstatt "find . -op" > oder "find -op" damit nicht der "./" davor erscheint. > > > > Um also alle Files zu finden, die mit "a" anfangen, muss man mittels > > > > > > find . -regex '.*/a.*' > > > > > > suchen. Ist ungewohnt, steht aber eindeutig so in der Dokumentation. > > > Das > > > > Das sind aber nicht alle Dateien, die mit a anfangen, sondern alle, > > die ein a enthalten, m.a.W., bei diesem Beispiel so ungefähr 1 Mio. > > Will man alle, die mit a anfangen, muss man "find -regex '\.\/a.*'" > > verwenden. > > Wir haben unterschiedliche Vorstellungen davon, was ein Name ist? Das > Pattern '.*/a.*' sollte alle Pfade matchen, die direkt nach einem "/" > (also dem Directory-Delimiter) ein "a" enthalten, da der Stern > ueblicherweise "gierrig" ist, also nur alle Files, deren Name mit "a" > anfaengt: > Verstehe ich nicht. Er geht doch von links nach rechts und gierig heißt IMHO, dass er sich beim nach rechts voranschreiten nicht mit einem Treffer begnügt. Deshalb liefert ... > touch a > touch ba > find -regex '.*/a.*' > ./a > ... bei mir find -regex '.*/a.*', bzw., wegen der Subdirectories, find -maxdepth 1 -regex '.*a.*' gleich als ersten Treffer ./.bashrc und find -maxdepth 1 -regex '.*a.*' |wc -l sagt: 195 und find -maxdepth 1 -regex '.*a' liefert bei mir ./ba ./.mozilla ./a ./.macromedia ./.java ./proc_via > [...] > > > Danke. Uff, das dauert (Fetching with LWP: > > ftp://ftp.cs.tu-berlin.de/pub/lang/perl/CPAN/authors/id/R/RG/RGARCIA/p > >erl-5.9.4.tar.gz mit meinem Modem). > > Modem? Das ist aber doch so 20. Jahhundert ;-) Da File::Find beim Ja was denkst denn du? Entsprechend ist auch der Rechner. PII mit Woody (das hat Perl 5.6.x, ich hab irgendwann mal 5.8.4 installiert) > Perl-Core dabei ist, sollte es schon auf Deinem System gewesen sein, > falls Du Perl nicht geloescht hattest. Was Du da holst, ist die > komplette neueste Perl-Version. Ja, das hab ich dann auch gemerkt ;-) V.a. hat cpan mir nach Download der 13.6MB mitgeteilt, dass das eine unstable Version ist (uneven No.), die man nur installieren solle, wenn man aktiv beim Debuggen mithelfen wolle und bei der continue-Frage [n] voreingestellt. Ich hab, wie gesagt, 5.8.4 und laut http://search.cpan.org/~nwclark/perl-5.8.8/lib/File/Find.pm braucht man für File::Find 5.8.8. Dazu gibts auf der Seite auch den Link, aber da ich da (als ich wegen des langen Downloads auf die Idee kam, nach dem Modul mal auf cpan.org zu gucken) schon ~8MB von 5.9. hatte, hab ichs gelassen. Das passiert mir auch nicht nochmal ;-) Gruß Gebhard .

