Perl日志处理
Perl能够使你成为Doolittle,不过是通过日志与系统交流。
- 读取日志文件
#!/usr/bin/perl -w
$logfile="log/secure";
open LOG, "<", "$logfile" or die "Unable to open $logfile: $!\n";
while(<LOG>){
print if /\bAccepted\b/i;
}
close LOG;
- 命令行读取日志文件
perl -ne 'print if /\bsession\b/i' log/secure
选项-n
assume "while (<>) { ... }" loop around program
perl -ne 'print $1."\n" if /\s+(\d+\.\d+\.\d+\.\d+)\s+/' node2-190810.log
- 快速比较两个列表
if("@array1[1..20]" ne "@array2"){
...
}
Perl可以自动将两个列表@array1和@array2转换成字符串(在列表元素间加入空格作为分割符,即join(’ ', @array1[1…20])),然后再对两个结果字符串进行比较。对于高级应用可以使用Array::Compare模块。