#!/usr/bin/perl -w use FindBin; use IO::All; use File::Find; use Fcntl ':mode'; $path="/home/chris/Arbeitsfläche/KIGA_Skripte"; # pfad in dem alles beginnt @directories=("$path"); # liste der zu durchlaufenden verzeichnisse (hier nur eines) $datum="20131025"; # Suchoption: Jeder Dateiname mit diesem Inhalt wird aufgelistet. find(\&wanted, @directories); sub wanted { if (-f && $File::Find::name =~ /.*$datum.*\.skv/) { # hier das kriterium nach dem er dateien sucht @stats = lstat($File::Find::name); push(@copy_files,$File::Find::name); # schreibt alle gefundenen dateien in @copy_files } } foreach $file (@copy_files) { $part = $file; $part =~ s/^(.*\/).*$/\1/g; # Das ist Magie.... ;-) print "$file \n"; # gibt den Pfad + Dateinamen an print "$part \n"; # gibt nur den Pfad an, UND BIS HIERHER GEHT DAS SKRIPT! chdir $FindBin::Bin; # Wechselt in das Verzeichnis in dem sich das ausgeführte Skript befindet (da liegt auch die Datei) $temp < io("$file"); # Soll die Datei öffnen while ($temp =~s/false/0/) {} # ersetzt alle "false" durch "0" while ($temp =~s/true/1/) {} # ersetzt alle "true" durch "1" while ($file =~s/Report/Report_mod/) {} # Erweiterung des Dateinamen um "_mod". Testdateiname: Report-20131025-0010.skv $temp >> io("$file"); }