Schrift
[thread]13017[/thread]

Dateien eines Dateityps speichern



<< >> 5 Einträge, 1 Seite
Kimono
 2009-01-17 10:34
#118117 #118117
User since
2009-01-17
1 Artikel
BenutzerIn
[default_avatar]
Hi,

ich möchste mit einem Perl Script Dateien in Arrays speichern.
Allerdings nur von einem Dateityp der vorher angegeben wurde.

Also sowas wie:

Dateityp?
Nun erwartet er eine Aussage wie ".exe" ".txt"
Dann liegt mir das in einer Variable vor.
Das alles bekomm ich hin.
Aber das nicht:

Nun möchte ich alle Dateien die im selben Ordner, die selbe Dateiendung haben in Arrays speichern.

Danke =)
Gast Gast
 2009-01-17 10:59
#118118 #118118
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl
use strict;
use warnings;

my $path='nur/ein/test/';

print "Endung angeben: ";
my $endung=<STDIN>;
chomp($endung);

my @list=glob("$path*$endung");
map{ print "$_\n" }@list;


Für eine bessere Differenzierung eignet sich das Modul CPAN:File::MMagic Das ermittelt den Dateityp nicht nur anhand der Endung, sondern schaut auch in die Datei.
das müsstest du ungefähr so machen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl
use strict;
use warnings;
use File::MMagic;

my $mm = File::MMagic->new();
my $path='nur/ein/test/';

print "Type angeben: ";
my $type=<STDIN>;
chomp($type);


my @list=glob("$path*");
@list=grep{$mm->checktype_filename($_) =~ /\Q$type\E/}@list;
map{ print "$_\n" }@list;


Typen wären so was wie "text", "image", "binary", oder auch "png", "jpeg", etc.
GwenDragon
 2009-01-17 10:51
#118119 #118119
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Die Dateinamen kannst du mit glob herausfinden.

Code (perl): (dl )
1
2
my @dateien = glob("/verzeichnins/*.exe"); # Alle .exe im Verzeichnis
push @dateien, glob("/verzeichnins/*.txt"); # Alles .txt im Verzeichnis ans Array dranhängen

GwenDragon
 2009-01-17 11:20
#118120 #118120
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Gast+2009-01-17 09:59:20--
Für eine bessere Differenzierung eignet sich das Modul CPAN:File::MMagic Das ermittelt den Dateityp nicht nur anhand der Endung, sondern schaut auch in die Datei.
Korrekter gesagt: File-MMagic ermittelt den Mime-Type.

Ob der Threadstarter mit dem Mime-Type was anfangen kann?

So ganz kennen wir auch nicht die Vorknenntnisse des Threadstarters.

@kimono
Magst du uns nicht mal deinen Code zeigen?
Dann können wir ihn zusammen ergänzen, wenn du nach unseren Hinweisen nicht weiter weißt.
Linuxer
 2009-01-18 01:08
#118132 #118132
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
*grml* mal wieder ein ungekennzeichneter Crosspost:

http://www.perlboard.de/?id=9782
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
<< >> 5 Einträge, 1 Seite



View all threads created 2009-01-17 10:34.