我有一个带有json条目的日志文件。为了实现目标,请执行以下操作:
tail -f path/to/logfile | while read line; do echo $line | json ; done
json
- > https://www.npmjs.com/package/json
问题是json可以包含转义字符串作为值并回显它们可以消除转义。
{"a":"\"Hello\""} -> {"a":""Hello""}
答案 0 :(得分:3)
确实
tail -f path/to/logfile | while read -r; do echo "$REPLY" | json ; done
修好吗?
我知道默认情况下read
解释\
转义符,如果指定要读入的变量,它会发生奇怪的事情。
我也知道在shell脚本中使用不带引号的变量是一个麻烦的方法。
因此read -r
禁用反斜杠处理,使用$REPLY
代替$line
,并引用"$REPLY"
。
我还查看了json
文档。它有一个名为" streaming"的东西。将
tail -f path/to/logfile | json -ga
做你想做的事吗?