Splunk - 根据分隔符将一个字段拆分为多个字段
Splunk - Split a field into multiple fields based on delimiters
我在需要拆分成多个字段的字段中有以下值,
类名:
abc.TestAutomation.NNNN.Specs.Prod/NDisableTransactionalAccessUsers.#()::TestAssembly:abc.TestAutomation
所需输出:
Productname : abc.TestAutomation.NNNN.Specs.Prod
Feature name : NDisableTransactionalAccessUsers
Project : TestAssembly:abc.TestAutomation
我一直在尝试使用 REX 命令将值提取到我的字段中,但我失败了。
source="Reports.csv" index="prod_reports_data" sourcetype="ReportsData"
| rex "classname(?<Productname>/*)\.(?<Featurename>#*)\.(?<Project>.*)"
| table classname Productname Featurename Project
当我执行这个命令时,没有任何结果。我对Splunk很陌生,谁能指导一下。
谢谢。
我几乎总是使用多个 rex
statement to get what I want ... but if you "know" the data is consistent, this will work (tried on regex101.com):
| rex field=_raw (?<classname>[^\/]+)\/(?<featurename>[^\.]+)\.[[:punct:]]+(?<project>[\w].+)
这个正则表达式的作用:
<classname>
:: 从事件前面到前面的斜杠的所有内容 (/
)
<featurename>
:: 前斜杠 (/
) 之后的任何内容,直到文字点 (.
)
- 丢弃所有找到的标点符号
<project>
:: 线上剩余的内容
根据 regex101.com,这 可能 您可以使用的最有效的 rex(总共 14 个步骤)
我在需要拆分成多个字段的字段中有以下值,
类名:
abc.TestAutomation.NNNN.Specs.Prod/NDisableTransactionalAccessUsers.#()::TestAssembly:abc.TestAutomation
所需输出:
Productname : abc.TestAutomation.NNNN.Specs.Prod
Feature name : NDisableTransactionalAccessUsers
Project : TestAssembly:abc.TestAutomation
我一直在尝试使用 REX 命令将值提取到我的字段中,但我失败了。
source="Reports.csv" index="prod_reports_data" sourcetype="ReportsData"
| rex "classname(?<Productname>/*)\.(?<Featurename>#*)\.(?<Project>.*)"
| table classname Productname Featurename Project
当我执行这个命令时,没有任何结果。我对Splunk很陌生,谁能指导一下。
谢谢。
我几乎总是使用多个 rex
statement to get what I want ... but if you "know" the data is consistent, this will work (tried on regex101.com):
| rex field=_raw (?<classname>[^\/]+)\/(?<featurename>[^\.]+)\.[[:punct:]]+(?<project>[\w].+)
这个正则表达式的作用:
<classname>
:: 从事件前面到前面的斜杠的所有内容 (/
)<featurename>
:: 前斜杠 (/
) 之后的任何内容,直到文字点 (.
)- 丢弃所有找到的标点符号
<project>
:: 线上剩余的内容
根据 regex101.com,这 可能 您可以使用的最有效的 rex(总共 14 个步骤)