我玩了一段时间并重新研究,但我无法找到解决方案。我有一些巨大的日志,有时也有巨大的 JSONS。但为了简化想象如下:
mkdir logs
cd logs/
echo "$(date) [INFO] something" >> huge_log.log
echo "$(date) [INFO] something more" >> huge_log.log
echo "$(date) [INFO] Something with json: {\"foo\": \"bar\"}" >> huge_log.log
tail -n 5 -f huge_log.log | how_to_filter? | jq '.'
是否有可能看到这样的东西(作为 jq '.' 输出的 json 将是):
Tue Aug 18 12:42:24 CEST 2020 [INFO] something
Tue Aug 18 12:42:29 CEST 2020 [INFO] something more
Tue Aug 18 12:43:05 CEST 2020 [INFO] Something with json:
{
"foo": "bar"
}
因此,不知何故,在打印日志时自动检测 json,并将它们显示为输出:
echo "{\"foo\": \"bar\"}" | jq '.'
{
"foo": "bar"
}