Thread Alle Dateien eines Formats suchen... (13 answers)
Opened by KarlaCluft at 2013-01-27 18:54

Linuxer
 2013-01-27 21:35
#165215 #165215
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Wenn es Dir ausreicht, die Dateien anhand ihrer Endung zu identifizieren, dann wäre auch CPAN:File::Find und/oder CPAN:File::Find::Rule brauchbare Alternativen.

Mit File::Find musst Du Dich selber darum kümmern, wie und dass Du die Kriterien auswertest.
File::Find::Rule nimmt Dir da schon einiges ab:

Schnellschuss mit File::Find::Rule, ungetestet:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/perl
use strict;
use warnings;

# this is findmp3
# findmp3 DIR [DIR2] [DIR3]

use File::Find::Rule;

my @dirs = @ARGV;
if ( !@dirs ) {
  warn "No directories specified! Using '.' for search.\n";
  @dirs = ( '.' );
}

my @files = File::Find::Rule->file()
                            ->name('*.[mM][pP]3')
                            ->in( @dirs );

print "Found these files: \n", join "\n", @files;



edit: File-Pattern erweitert, um Groß-/Kleinschreibung abzufangen; Danke @ hlubenow
edit2: Hinweis: das ganze arbeitet hier rekursiv; d.h. Unterverzeichnisse werden ebenfalls durchsucht

Last edited: 2013-01-28 09:53:24 +0100 (CET)
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!

View full thread Alle Dateien eines Formats suchen...