我有一个经常检查的日志文件,由于它的格式,打印漂亮时,它很容易阅读。我想这样做。
以以下方式登录文件:
\r\r\n\n
我想做类似的事情
2019-07-04T09:53:04-07:00 some.package.placeholder.stderr {"log": "The content", "foo": "bar", "baz": "blah"}
2019-07-04T10:15:37-07:00 some.package.placeholder.stderr {"log": "I'm actually", "foo": "bar", "baz": "blah"}
2019-07-04T10:15:37-07:00 some.package.placeholder.stderr {"log": "Interested on", "foo": "bar", "baz": "blah"}
所以拖尾时我得到:
tail -f myLogFile | grep [...?...] | jq '.log'
甚至:
The content
I'm actually
Interested on
答案 0 :(得分:3)
使用-o
的GNU grep:
$ tail file | grep -o '{[^}]*}' | jq -r '.log'
The content
I'm actually
Interested on
任何awk:
$ tail file | awk 'sub(/.*{/,"{")' | jq -r '.log'
The content
I'm actually
Interested on
$ tail file | awk '{d=$1} sub(/.*{/,""){$0="{\"date\": \""d"\", " $0} 1' | jq -r '.date + " " + .log'
2019-07-04T09:53:04-07:00 The content
2019-07-04T10:15:37-07:00 I'm actually
2019-07-04T10:15:37-07:00 Interested on
最后一个方法是将输入中的日期字段合并到json中,以便jq可以选择它并将其与日志字段一起打印。
答案 1 :(得分:1)
如果日志行由制表符分隔,则可以读取原始行并在制表符上拆分行。然后您可以解析json并过滤到您的hearts内容,并根据需要重新组合。
>>> html_to_text('<b>Hello <i>world!')
'Hello world!'
>>> html_to_text('<a href="google.com">some <faketag>text')
'some text'