gpt4 book ai didi

perl - 循环遍历文件行,如果文件不存在则抑制错误

转载 作者:行者123 更新时间:2023-12-02 14:44:39 42 4
gpt4 key购买 nike

我在 shell Perl 脚本中有以下内容:

my @LS  = `ls -1t /logs/log.csv.*`;
foreach my $line (@LS) {

如果确实存在一个或多个 log.csv.* 文件,则此方法可以正常工作。

但是如果不存在日志文件,我会收到错误:ls: 无法访问...

我可以以某种方式抑制这个警告,因为 shell 脚本是一个 cron 脚本,如果没有文件也可以吗?

最佳答案

这一切都在 Perl 中完成,包括按上次修改时间戳进行反向排序:

在这个例子中,我也做了它,所以它只对每个文件执行一次“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 ] ) {
...
}

关于perl - 循环遍历文件行,如果文件不存在则抑制错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8984741/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com