1

我试图让这个脚本把输出文件放在结果/中,但我只把它们放在结果/假脱机中。我怎样才能让它们最终出现在正确的位置?

 #!/usr/bin/perl -w

use POSIX;
my $date = strftime "%Y%m%d_%H%M.txt", localtime;

my @files = <spool/*.*>;
foreach $file (@files) {
    my $date_file = $file;
    system("$^X  wfreq.pl $file >> results/${date_file}_$date");
    unlink("$file");
}
4

2 回答 2

2

你测试过这个吗?

#!/usr/bin/perl -w

use POSIX;
my $date = strftime "%Y%m%d_%H%M.txt", localtime;

my @files = <spool/*.*>;
foreach $file (@files) {
    (my $date_file = $file) =~ s!.*/!!;
    system("$^X  wfreq.pl $file >> results/${date_file}_$date");
    unlink("$file");
}

函数system(), qx()&exec()可以毫无问题地处理变量。

于 2012-10-25T00:31:23.583 回答
0

这是你要找的吗?

这将为您提供每个日期的单独文件

@files = <spool/*.*>;
foreach $file (@files) {
    system($^X, "wfreq.pl", $file);
    $DATE = strftime "%Y%m%d";
    open OUTPUT, '>results/$DATE.txt' or die;
    print OUTPUT $DATE;
}

或者对于结果全部在一个文本文件中的文件

@files = <spool/*.*>;
open OUTPUT, '>>results/results.txt' or die;
foreach $file (@files) {
    system($^X, "wfreq.pl", $file);
    $DATE = strftime "%Y%m%d";
    print OUTPUT $DATE;
}
于 2012-10-25T00:38:50.017 回答