my @LS = `ls -1t /logs/log.csv.*`; foreach my $line (@LS) {
如果实际存在一个或多个log.csv.*文件,则此方法可以正常工作.
但如果没有日志文件,我会收到错误:ls:无法访问…
我可以以某种方式抑制此警告,因为shell脚本是一个cron脚本,如果没有文件就可以了吗?
在这个例子中,我也做了它,所以它只对每个文件执行一次“stat”.
my @LS = glob('/logs/log.csv.*'); my @mtimes = map { (stat)[9] } @LS; my @sorted_indexes = sort { $mtimes[$b] <=> $mtimes[$a] } 0 .. $#mtimes; foreach my $line ( @LS[ @sorted_indexes ] ) { ... }