-1
我與格式 當前日期的cron日誌文件是09月22如何打印日誌文件直到特定日期
年09月22 13點00分01秒的主機名的crond [24359]:(根)CMD(在/ usr/lib64下/ SA/SA1 1)
我要打印日誌文件,直到 「9月21日」 與下面格式
date:time:user:command format
我與格式 當前日期的cron日誌文件是09月22如何打印日誌文件直到特定日期
年09月22 13點00分01秒的主機名的crond [24359]:(根)CMD(在/ usr/lib64下/ SA/SA1 1)
我要打印日誌文件,直到 「9月21日」 與下面格式
date:time:user:command format
如何:
perl -pe 'exit if /^Sep 22/;' input.log
你去那裏:
#!/usr/bin/perl
use warnings;
use strict;
open (my $IN,'<','foo.log') or die "$!";
while (<$IN>) {
last if /^Sep 22/;
print join(':',/^(\w{3}\s\d{1,2})\s(\d{2}:\d{2}:\d{2}).+\((.+?)\) CMD \((.+?)\)/),"\n";
}
close $IN;
同樣,一個班輪味:
perl -nle "exit if /^Sep 22/;print join(':',/^(\w{3}\s\d{1,2})\s(\d{2}:\d{2}:\d{2}).+\((.+?)\) CMD \((.+?)\)/)" foo.log
如果你希望能夠在未來再次運行腳本,你可以使用目前的日:
#!/usr/bin/perl
use warnings;
use strict;
my (undef,undef,undef,$mday,$mon)=localtime(time);
my @abbr=qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
open (my $IN,'<','foo.log') or die "$!";
while (<$IN>) {
last if /^$abbr[$mon] $mday/;
print join(':',/^(\w{3}\s\d{1,2})\s(\d{2}:\d{2}:\d{2}).+\((.+?)\) CMD \((.+?)\)/),"\n";
}
close $IN;
你試過了什麼? –