有时候我们可能会希望将通过spl已经得到数据进行复制,并将新复制的数据加上一个字段来对这两份数据进行不同的业务处理,这时我们可以使用appendpipe命令,该命令就是将前面已执行得到的数据进行appendpipe后面的操作。
由于具体业务中的使用场景不太一样,这里只是实现一下appendpipe的功能:
| makeresults
| eval _raw="Name, Age, Address
Tom, 12, Shanghai
Lily, 8, Hangzhou
Bob, 16, Beijing"
| multikv forceheader=1
| eval school="TJU"
| appendpipe
[eval school="ZJU"]
要达到的目的就是将appendpipe命令之前spl执行出来的结果执行appendpipe命令之后的操作,并将执行之后的结果追加在appendpipe之前的执行结果后面。这里想要实现的就是将原来处理得到的3条数据拿出来再执行一下eval school="ZJU"命令,即给这3条结果的school字段赋值为"ZJU"并追加在原来的3条结果后面,所以就会形成最终3条school="TJU"和3条school="ZJU"共6条的结果。
执行结果:
appendpipe命令官方文档:https://docs.splunk.com/Documentation/Splunk/7.2.4/SearchReference/Appendpipe