簡體   English   中英

從 tail -f 只打印花括號之間的行

[英]Print only lines between curly braces from tail -f

我有一個腳本,它讀取多個調試日志,將其附加到臨時文件,然后在調試文件上執行tail -f ,以便我們可以在單個窗口中監視調試事件,並輕松查看用戶操作何時引發事件。 還有一堆元數據也寫入這些調試日志,我不希望將它們包含在監視器腳本的輸出中。

有沒有一種方法可以使用sedawk僅打印包含在花括號(包括花括號)中的數據? 大括號內的數據可以並且總是跨越多行。

數據可能如下所示:

DON'T PRINT THIS DATA:!@#%$%^
DON'T "!@#()*& PRINT THIS DATA EITHER
}
DON"T PRINT THIS
{
PRINT THIS DATA BLOCK
AND THIS DATA
AND THIS LINE TOO:!@#(*&
}
DONT:!@# \/PRINT THIS
{
BUT PRINT THIS
}

使用多個 sed

sed -n '/{/,/}/p' InputFile | sed '/^{/d' | sed '/^}/d'

使用單個 sed

sed -n '/{/,/}/{/{/!{/}/!p}}' InputFile

暫無
暫無

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

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