我目前正在尝试创建一个脚本,用于测试包含syslog文件关键字的正则表达式。但是,在尝试将表达式与正面查找匹配时,我无法检索结果。为了记录,我检查了文件以确保有与我希望找到的记录相关联的记录。我希望是否有人知道表达式的错误。
我正在使用if语句来测试针对条目的表达式,如下所示:
针对
等条目Jan 5 00:37:50 Steves-MBP.default sessionlogoutd[1309]: sessionlogoutd Launched
任何帮助都非常感谢。干杯球员
根据要求,应该正确匹配的条目是,例如,networkmanager为word:
Dec 3 06:13:24 kali NetworkManager[2572]: <info> address 172.5.2.145
答案 0 :(得分:2)
假设您选择了输入,则应将\n
替换为$
。
$word = "networkmanager";
$log = "Dec 3 06:13:24 kali NetworkManager[2572]: <info> address 172.5.2.145";
# Note the "i".
if ($log =~ m/([A-Z]\w*\s\s[0-9]+\s[0-9]{2}:[0-9]{2}:[0-9]{2}\s.*\s$word.*$)/i) {
print "yes\n";
}
答案 1 :(得分:0)
如果您能够安装或使用cpan模块,似乎有一个可以满足您的需求: http://search.cpan.org/~dschwei/Parse-Syslog/