Schrift
[thread]6490[/thread]

unterverzeichnisse

Leser: 1


<< >> 4 Einträge, 1 Seite
Gast Gast
 2004-08-12 15:16
#85725 #85725
wie kann man am einfachsten in einem verzeichnis die unterverzeichnisse aussortieren?
z.B.

es gibt 5 unterverzeichnisse mit folgendem namen:
hallo_001
hallo_002
hallo_003
hallo_003.alt
hallo_002.alt

ich möchte nur die ersten drei in einem array speichern der rest soll überlesen werden!
danke
renee
 2004-08-12 15:26
#85726 #85726
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
gibt es eine Regel, nach der die Unterverzeichnisse aussortiert werden sollen?? für obiges kannst Du machen:
Code: (dl )
1
2
3
4
5
6
7
8
my $directory = '/path/to/directory';
my @subdirs;
opendir(DIR,$directory) or die $!;
while(my $file = readdir(DIR)){
my $path = $directory.'/'.$file;
push(@subdirs,$path) if(-d $path && $file != /\.alt$/);
}
closedir DIR;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Taulmarill
 2004-08-12 15:26
#85727 #85727
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
geht u.a. mit regulären ausdrücken:
Code: (dl )
push @dirs, $dir unless $dir =~ /\.alt$/;

der code ist untested, sollte aber das prinzip verdeutlichen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
pq
 2004-08-12 15:26
#85728 #85728
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Guest,12.08.2004, 13:16]
es gibt 5 unterverzeichnisse mit folgendem namen:
hallo_001
hallo_002
hallo_003
hallo_003.alt
hallo_002.alt

ich möchte nur die ersten drei in einem array speichern der rest soll überlesen werden!
danke[/quote]
deine beschreibung ist zwar etwas vage, und ich kann nur raten:
Code: (dl )
1
2
3
4
5
6
7
8
my @auswahl;
for my $dir (@subdirs) {
push @auswahl, $dir if $dir =~ m/^hallo_00\d$/;
# oder auch
push @auswahl, $dir unless $dir =~ m/\.alt$/;
}
# oder auch
my @auswahl = @dirs[0..2]; # du sagtest, die ersten 3

aber vielleicht ist es ja genau das, was du suchst. ansonsten bitte ein
kriterium fürs aussortieren angeben.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 4 Einträge, 1 Seite



View all threads created 2004-08-12 15:16.