[英]Auto-insert blank lines in `tail -f`
有一個日志文件,如:
[DEBUG][2016-06-24 11:10:10,064][DataSourceImpl] - [line A...]
[DEBUG][2016-06-24 11:10:10,069][DataSourceImpl] - [line B...]
[DEBUG][2016-06-24 11:10:12,112][DataSourceImpl] - [line C...]
在tail -f
實時監控下,是否可以自動插入(通過命令我們將管道到tail
)“空行”,比方說,2秒不活動?
預期結果:
[DEBUG][2016-06-24 11:10:10,064][DataSourceImpl] - [line A...]
[DEBUG][2016-06-24 11:10:10,069][DataSourceImpl] - [line B...]
---
[DEBUG][2016-06-24 11:10:12,112][DataSourceImpl] - [line C...]
(因為兩條連續線之間的間隙超過2秒)。
awk -F'[][\\- ,:]+' '1'
以上將在分割字段]
, [
, -
, ,
和
:
,以便每個字段如下所述:
[DEBUG][2016-06-24 11:10:10,064][DataSourceImpl] - [line A...]
22222 3333 44 55 66 77 88 999 ...
然后,您可以連接一些字段並使用它來測量時差:
tail -f input.log | awk -F'[][\\- ,:]+' '{ curr=$3$4$5$6$7$8$9 }
prev + 2000 < curr { print "" } # Print empty line if two seconds
# have passed since last record.
{ prev=curr } 1'
tail
沒有這樣的功能。 如果你想要,你可以實現一個程序或腳本來檢查文件的最后一行; 像(偽代碼)
previous_last_line = last line of your file
while(sleep 2 seconds)
{
if (last_line == previous_last_line)
print newline
else
print lines since previous_last_line
}
兩個評論:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.