簡體   English   中英

如果存在於 json 文件中,Splunk rex 表達式將刪除逗號

[英]Splunk rex expression to remove comma if present in json file

我遇到了一個小問題,需要從 JSON 日志文件中刪除最后一個字符“,”(如果存在)。 我在 Splunk 中使用它。

這看起來很簡單,我希望我的正則表達式能工作,但它不工作。 我的嘗試:

1. s/\(,$\)?//g
2. s/,$//g
3. s/\(.*\),/\1/
 

僅供參考:我的 json 文件是嵌套的,隨着刪除最后一個字符,我從該文件中刪除了一些 header 和頁腳,並將 1 個事件分成多個。 由於事件中斷,它在每個事件結束時都有。 為了更好地理解,可以參考我在 Splunk Community fourm 上發布的這個鏈接https://community.splunk.com/t5/Getting-Data-In/Updated-Help-in-event-break-for-json-file/td- p/569676

在此處輸入圖像描述

實際上最后有一個額外的空間,所以下面一個是有效的,但它會導致另一個問題。

Working Regex s/\(,\s$\)//g

因為我將它與其他正則表達式和事件中斷一起使用。 不是事件中斷不起作用。

其他正則表達式

SEDCMD-removefooter = s/(\]\,).*//g
SEDCMD-removeheader = s/\{\"data\": \[//g
LINE_BREAKER = ([\r\n,]*(?:{[^[{]+\[)?){"links"

我解決了這個問題

工作正則表達式

SEDCMD-replacequotes = s/'/"/g
SEDCMD-removecomma = s/,\s$//g
SEDCMD-removefooter = s/(\]\,).*//g
SEDCMD-removeheader = s/\{.data.: \[//g

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM