Dateien nach Platzhaltenr durchsuchen


king2k

Grünschnabel
Hi,

ich möchte folgendes in Python oder Perl realisieren:
Alle Dateien in einem Ordner nach Platzhaltern der Form $$name$$ durchsuchen. Anschließend aus einer XML-Datei alle Einträge mit den entsprechenden Namen der Platzhalter abrufen. Ziel ist Reduzierung einer großen Sprachdatei (mehrere MB) auf die verwendeten Einträge, zwecks Aufrufzeit.

Der XML-Teil müsste klar sein, aber wie kann ich am elegantesten alle Platzhalter suchen lassen und am besten in einem Array speichern? (mich interessiert der Name Zwischen den $$...$$)

Gruß
 
Zuletzt bearbeitet:

renee

Erfahrenes Mitglied
In Perl:
Code:
#!/usr/bin/perl

use strict;
use warnings;
use File::Find::Rule;

my $dir = '/path/to/directory';
my @files = File::Find::Rule->file->in( $dir );

my %placeholder;
for my $file ( @files ) {
    if ( open my $fh, '<', $file ) {
        while ( my $line = <$fh> ) {
            my @local = $line =~ m{ \$\$ (.*?) \$\$ }xms;
            @placeholder{@local} = (1) x @local;
        }
    }
    else {
        print "Cannot  handle $file: $!\n";
    }
}

print "Gefundene Platzhalter:\n";
print $_,"\n" for keys %placeholder;

File::Find::Rule musst Du ggf. nachinstallieren