A
ACID25
Grünschnabel
Hallo
ich habe hier ein perl script, dass aus einer vorher generierten Liste, die so aus sieht
31edb809ff19486daf60e66cc3ab1a7d
6cc31f7dda514266b04dcace352100d6
a658e00effac40e094793e9aae378c60
die entsprechenden Dateien löschen soll. Aber irgendwie geht das nicht wirklich.
Ich vermute das Problem an der Stelle "$text .= "rm /Video/Proxies/*/".$line."*\n";"
Da ich von perl null Ahnung habe, frage ich mich gerade wie rm das so finden soll, müßte da nicht zB ein "find exec rm" Zeiler hin, denn die oben genannten Dateien befinden sich
auch noch mal in Unterordnern? Wäre dankbar für einen tip
LG ACID25
ich habe hier ein perl script, dass aus einer vorher generierten Liste, die so aus sieht
31edb809ff19486daf60e66cc3ab1a7d
6cc31f7dda514266b04dcace352100d6
a658e00effac40e094793e9aae378c60
die entsprechenden Dateien löschen soll. Aber irgendwie geht das nicht wirklich.
Code:
#!/usr/bin/perl -w
require 5.004;
my $fname1 = shift;
my $server = shift; #db-server.intern
my $database = shift; #VDB1
my $sonaps = shift; #ServerA ServerB
my $outfname1 = "../CMS_VOS_cleanup_".$sony.".sh";
my $outfname2 = "../CMS_VOS_cleanup_proxies_".$sony.".sh";
my $text = '';
# open file
open(FILE, $fname1) || die("Could not open $fname\n");
@lines_file = <FILE>;
close(FILE);
foreach $line (@lines_file) {
$line =~ s/,.*//g;
$line =~ s/\n//g;
if (length($line)>0) {
$text .= "wget \"http:\/\/".$server."\/tamino\/".$database."\/cms?_delete=/CompleteDocument[\@ino:id=\"".$line."\"]\" -O /dev/null\n"
}
}
# write result set file
open(FILE, ">$outfname1") || die("Could not open $fname\n");
print FILE $text;
close(FILE);
# open file
open(FILE, $fname1) || die("Could not open $fname\n");
@lines_file = <FILE>;
close(FILE);
$text = '';
foreach $line (@lines_file) {
$line =~ s/.*,//g;
$line =~ s/\n//g;
if (length($line)>0) {
$text .= "rm /Video/Proxies/*/".$line."*\n";
}
}
# write result set file
open(FILE, ">$outfname2") || die("Could not open $fname\n");
print FILE $text;
close(FILE);
Ich vermute das Problem an der Stelle "$text .= "rm /Video/Proxies/*/".$line."*\n";"
Da ich von perl null Ahnung habe, frage ich mich gerade wie rm das so finden soll, müßte da nicht zB ein "find exec rm" Zeiler hin, denn die oben genannten Dateien befinden sich
auch noch mal in Unterordnern? Wäre dankbar für einen tip
LG ACID25