[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Regular Expression bei Dateiendungen mit find



On Wed, Aug 23, 2006 at 11:38:58AM +0200, Gebhard Dettmar wrote:
> On Tuesday 22 August 2006 16:39, Juergen Christoffel wrote:
> > Das heisst soviel wie: das Pattern wird implizit verankert mit einem "^"
> > am Anfang und mit einem "$" am Ende des Strings, also "-regex a" findet
> > nicht alle Files, die ein "a" im Namen enthalten, sondern nur die, die
> > exakt "a" heissen (incl. Directories im Path).
> >
> Äh, Moment, das findet gar nichts.

Doch:

  touch a
  find * -regex a
  a

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:

  touch a
  touch ba
  find -regex '.*/a.*'
  ./a

Aber er findet bei mir auch Subdirectories, deren Name mit "a" anfaengt.
Also noch ein Grund mehr, direkt grep/egrep zu nehmen.

> Danke. Uff, das dauert (Fetching with LWP:  
> ftp://ftp.cs.tu-berlin.de/pub/lang/perl/CPAN/authors/id/R/RG/RGARCIA/perl-5.9.4.tar.gz
> mit meinem Modem).

Modem? Das ist aber doch so 20. Jahhundert ;-) Da File::Find beim 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.

	--jc

-- 
  Ignorance more frequently begets confidence than does knowledge.
	-- Charles Darwin



Reply to: