Schrift
[thread]12215[/thread]

Find::File aber keine versteckten

Leser: 1


<< >> 6 Einträge, 1 Seite
tsy
 2008-07-21 15:54
#112386 #112386
User since
2008-03-17
54 Artikel
BenutzerIn
[default_avatar]
Hallo!
gibt es eine einfache und elegante Möglichkeit bei Verwendung von find() Punktdateien und -Verzeichnisse auszuschließen?
Die einzige Möglichkeit, die mir im Moment einfällt wäre den Teil am Ende von File::Find::name abzuschneiden und darauf zu prüfen, ob er mit einem Punkt beginnt und danach noch \w-Zeichen folgen. Geht es auch weniger kompliziert?

Gruß,

tsy
Gast Gast
 2008-07-21 16:05
#112387 #112387
Hallo tsy,

ich bin zwar nur Gast hier, glaube aber dennoch die Antwort zu wissen:
Du musst doch nur noch beim Überprüfen, ob dein File das gewünschte ist, die Abfrage mitdazunehmen, ob die Datei mit einem Punkt beginnt:
if(!($dingens =~ /^\./)){ ....code.....}

Dann sollte doch das Ganze klappen...wenn ich mich nicht irre.

Grüße Jürgen
moritz
 2008-07-21 16:10
#112388 #112388
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Gast+2008-07-21 14:05:46--
Du musst doch nur noch beim Überprüfen, ob dein File das gewünschte ist, die Abfrage mitdazunehmen, ob die Datei mit einem Punkt beginnt:
if(!($dingens =~ /^\./)){ ....code.....}


Das hindert aber File::Find nicht daran, in versteckte Verzeichnisse reinzugehen - wenn ich mich nicht irre ;-)
betterworld
 2008-07-22 01:31
#112415 #112415
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
moritz+2008-07-21 14:10:57--
Gast+2008-07-21 14:05:46--
Du musst doch nur noch beim Überprüfen, ob dein File das gewünschte ist, die Abfrage mitdazunehmen, ob die Datei mit einem Punkt beginnt:
if(!($dingens =~ /^\./)){ ....code.....}


Das hindert aber File::Find nicht daran, in versteckte Verzeichnisse reinzugehen - wenn ich mich nicht irre ;-)

Wenn man so ein Verzeichnis antrifft, kann man ja $File::Find::Prune setzen -- wenn ich mich nicht irre.
Gast Gast
 2008-07-22 14:26
#112440 #112440
Ich nochmal:

ich bin nach wie vor der Meinung das meine Lösung funktioniert!
Wenn nicht, dann bitte verbessern, hab z.Zt. nicht die Möglichkeit das auszuprobieren.
Da ich aber hier schon oft in alten Threads Hilfe gefunden habe, dachte ich, ich könnte auch mal jemanden helfen.
Aber ich muss/darf feststellen, dies hier ist ein Forum wie jedes andere auch ;)

Welche Antworten noch fehlen:
"Dies ist schoneinmal im Jahre 1785 in folgenden (LINK zur Aussage) Forum beantwortet worden"
oder
"ich gebe die Frage in Google ein, und der 1753 Eintrag weisst schon auf die Lösung hin"

Also: Ist meine Lösung richtig oder falsch? Wenn Sie falsch ist, was wäre richtig?

Grüße Jürgen
moritz
 2008-07-22 14:35
#112441 #112441
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ find
.
./.bar
./.bar/abc
./.bar/baz
./file-find.pl
./foo
./foo/blubb
./def
$ cat file-find.pl
#!/usr/bin/perl
use strict;
use warnings;

local $\ = "\n";
use File::Find;
find(sub {return if m/^\./; print }, '.');
__END__
$ perl file-find.pl
file-find.pl
def
abc
baz
foo
blubb


abc wird gefunden, obwohl es in einem versteckten Verzeichnis liegt.
<< >> 6 Einträge, 1 Seite



View all threads created 2008-07-21 15:54.