0

我只是在学习 Splunk 查询,我正在尝试myfile.csv根据regex表达式从文件中获取数据。

特别是,我很期待,只打印列fqdn不以udc.net和结尾的行htc.com

下面是我的查询,它正在工作,但我写了两次。

| inputlookup myfile.csv 
| regex support_group="^mygroup-Linux$" 
| regex u_sec_dom="^Normal Secure$" 
| regex fqdn!=".*?udc.net$"
| regex fqdn!=".*?htc.com$"
| where match(fqdn,".")

我正在尝试将它们与|分离但不工作相结合......

   | regex fqdn!="(.*?udc.net | ".*?htc.com)$"
4

2 回答 2

1

您可以使用searchandwhere子句执行此操作:

| inputlookup myfile.csv 
| search support_group="mygroup-Linux" u_sec_dom="Normal Secure"
| where !match(fqdn,"udc.net$") AND !match(fqdn,"htc.com$") 

或者只是一个search子句:

| inputlookup myfile.csv
| search support_group="mygroup-Linux" u_sec_dom="Normal Secure" NOT (fqdn IN("*udc.net","*htc.com")

你也可以这样重写IN()

(fqdn="*udc.net" OR fqdn="*htc.com")
于 2021-03-16T13:16:21.983 回答
1

如果您省略|. 多余的空格成为正则表达式的一部分并阻止匹配。

不需要最后的where命令。Splunk 默认会显示所有匹配的事件.

于 2021-03-15T20:33:53.180 回答