我有下面的代码:分割在几个部分文本(UNIX)
mutate {
add_field => [ "NB_timestamp", "%{SYS_YEAR}/%{SYS_MONTH}/%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}" ]
}
if [type] == "batch" {
if [idx] != "sipp" {
mutate {
add_field => [ "idx", "sipp"]
}
}
if [message] == "" {
drop { }
}
}
mutate {
add_field => [ "NB_timestamp", "%{SYS_YEAR}/%{SYS_MONTH}/%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}" ]
}
我想获得发生变异的部分。那就是,在这种情况下,我想只得到两个部分:
发生变异{ add_field => [ “NB_timestamp”, “%{SYS_YEAR} /%{SYS_MONTH} /%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}”]}
发生变异{ add_field => [ “NB_timestamp”, “%{SYS_YEAR} /%{SYS_MONTH} /%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}”]}
未这一部分:
- 发生变异{ add_field => [ “IDX”, “SIPP”] }
我已经使用grep,AWK和切试过。问题是这些命令(grep,awk和cut)得到“mutate”这是在“如果[type]”也是。
实施例:
- SED -n “/转变\ {/,/}/P” file.txt的
输出:
mutate {
add_field => [ "NB_timestamp", "%{SYS_YEAR}/%{SYS_MONTH}/%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}" ]
mutate {
add_field => [ "idx", "sipp"]
}
mutate {
add_field => [ "NB_timestamp", "%{SYS_YEAR}/%{SYS_MONTH}/%{SYS_DAY} %{SYS_HOUR}:%{SYS_MIN}:%{SYS_SEC}" ]
由于提前,
问候。
不要让我们猜是什么** Mutate的一部分**。根据上面的代码/输入,请编辑您的问题以显示您所需的输出?此外,你应该包括你试图解决你的问题,最接近的输出和任何错误消息。祝你好运。 – shellter
谢谢,我刚刚修改了我的问题。我希望这个问题能很好的配制。干杯。 – RdrgPorto