在perl文件名中包含变量
我正在尝试创建一个脚本来搜索日志文件中的特定错误。日志文件有日期戳,所以我只想检查今天的日志文件。这最终将成为一项工作。当我运行这个。我当前收到以下错误: 尾部:无法打开“/var/log/file.2014-09-03-Wed\n.log”进行读取:否 这样的文件或目录 因此我得到了日期,但随后添加了一个\n。脚本如下:在perl文件名中包含变量,perl,variables,filenames,Perl,Variables,Filenames,我正在尝试创建一个脚本来搜索日志文件中的特定错误。日志文件有日期戳,所以我只想检查今天的日志文件。这最终将成为一项工作。当我运行这个。我当前收到以下错误: 尾部:无法打开“/var/log/file.2014-09-03-Wed\n.log”进行读取:否 这样的文件或目录 因此我得到了日期,但随后添加了一个\n。脚本如下: $date=`date +"%Y-%m-%d-%a"`; $string = `tail -n50 /var/log/"file.$date.log" | grep -B2
$date=`date +"%Y-%m-%d-%a"`;
$string = `tail -n50 /var/log/"file.$date.log" | grep -B2 'Too many connected clients'`;
if($string =~ m/Reply: 421 Service not available. There are too many connected users, please try later/){
print "Max connections reached $date"
}
任何建议都将不胜感激 尝试使用
chomp($data)
或$date=~s/\n/
尝试使用chomp($data)
或$date=~s/\n/
尝试使用chomp($data)
或$date=~s/\n/
尝试使用chomp($data)
或$date=~s/\n/
从$date
中删除\n
:
chomp($date);
从
$date
中删除\n
:
chomp($date);
从
$date
中删除\n
:
chomp($date);
从
$date
中删除\n
:
chomp($date);
使用
Time::Piece
模块获取格式化的日期和时间,而不是启动整个其他流程。自从Perl5的版本10以来,它一直是一个核心模块,因此不需要安装,除非您的Perl非常旧
看起来像这样
use Time::Piece;
my $date = localtime->strftime('%Y-%m-%d-%a');
print $date, "\n";
输出
2014-09-03-Wed
使用
Time::Piece
模块获取格式化的日期和时间,而不是启动整个其他流程。自从Perl5的版本10以来,它一直是一个核心模块,因此不需要安装,除非您的Perl非常旧
看起来像这样
use Time::Piece;
my $date = localtime->strftime('%Y-%m-%d-%a');
print $date, "\n";
输出
2014-09-03-Wed
使用
Time::Piece
模块获取格式化的日期和时间,而不是启动整个其他流程。自从Perl5的版本10以来,它一直是一个核心模块,因此不需要安装,除非您的Perl非常旧
看起来像这样
use Time::Piece;
my $date = localtime->strftime('%Y-%m-%d-%a');
print $date, "\n";
输出
2014-09-03-Wed
使用
Time::Piece
模块获取格式化的日期和时间,而不是启动整个其他流程。自从Perl5的版本10以来,它一直是一个核心模块,因此不需要安装,除非您的Perl非常旧
看起来像这样
use Time::Piece;
my $date = localtime->strftime('%Y-%m-%d-%a');
print $date, "\n";
输出
2014-09-03-Wed
$date=
date+%Y-%m-%d-%a“
;chomp($日期)$string=tail-n50'/var/log/file.$date.log'| grep-B2'连接的客户端太多'
;如果($string=~m/Reply:421服务不可用。连接的用户太多,请稍后再试/){print“Max connections reated.$date”}@user3573036:对不起,我不明白您的意思。chomp
不是在解决问题吗?@user3573036:请问这个问题的状态如何?为什么你要把一段代码作为注释发布呢?Chomp解决了这个问题。我对perl非常陌生,所以从未见过它。$date=date+%Y-%m-%d-%a“
;chomp($日期)$string=tail-n50'/var/log/file.$date.log'| grep-B2'连接的客户端太多'
;如果($string=~m/Reply:421服务不可用。连接的用户太多,请稍后再试/){print“Max connections reated.$date”}@user3573036:对不起,我不明白您的意思。chomp
不是在解决问题吗?@user3573036:请问这个问题的状态如何?为什么你要把一段代码作为注释发布呢?Chomp解决了这个问题。我对perl非常陌生,所以从未见过它。$date=date+%Y-%m-%d-%a“
;chomp($日期)$string=tail-n50'/var/log/file.$date.log'| grep-B2'连接的客户端太多'
;如果($string=~m/Reply:421服务不可用。连接的用户太多,请稍后再试/){print“Max connections reated.$date”}@user3573036:对不起,我不明白您的意思。chomp
不是在解决问题吗?@user3573036:请问这个问题的状态如何?为什么你要把一段代码作为注释发布呢?Chomp解决了这个问题。我对perl非常陌生,所以从未见过它。$date=date+%Y-%m-%d-%a“
;chomp($日期)$string=tail-n50'/var/log/file.$date.log'| grep-B2'连接的客户端太多'
;如果($string=~m/Reply:421服务不可用。连接的用户太多,请稍后再试/){print“Max connections reated.$date”}@user3573036:对不起,我不明白您的意思。chomp
不是在解决问题吗?@user3573036:请问这个问题的状态如何?为什么你要把一段代码作为注释发布呢?Chomp解决了这个问题。我对perl非常陌生,所以从未见过它。如果50%的行是外部命令,为什么要使用perl?也许是一个简单的bash脚本……或者,用perl重写——文件读取和日期格式化是非常基本的perl操作。我做了很多bash,但为了工作目的尝试学习perl。如果50%的行是外部命令,为什么要使用perl?也许是一个简单的bash脚本……或者,用perl重写——文件读取和日期格式化是非常基本的perl操作。我做了很多bash,但为了工作目的尝试学习perl。如果50%的行是外部命令,为什么要使用perl?也许是一个简单的bash脚本……或者,用perl重写——文件读取和日期格式化是非常基本的perl操作。我做了很多bash,但为了工作目的尝试学习perl。如果50%的行是外部命令,为什么要使用perl?也许是一个简单的bash脚本……或者,用perl重写——文件读取和日期格式化是非常基本的perl操作。我做了很多bash,但为了工作目的,我试图学习perl。