将JSON变量输入python-mjson.tool
因此,为了用bash解析JSON,我使用python-mjson.tool对字段进行grep,并使用awk获取值。我过去常常在curl之后用管道传递它,所以我可以执行类似于将JSON变量输入python-mjson.tool,python,json,bash,curl,Python,Json,Bash,Curl,因此,为了用bash解析JSON,我使用python-mjson.tool对字段进行grep,并使用awk获取值。我过去常常在curl之后用管道传递它,所以我可以执行类似于curl$url | python-mjson.tool | grep(something)| awk(something)的操作,但我想将curl输出存储到一个变量,并将其发送到python-mjson.tool。我在bash中尝试了python-mjson.tool$json或python-mjson.tool,您需要引用
curl$url | python-mjson.tool | grep(something)| awk(something)
的操作,但我想将curl输出存储到一个变量,并将其发送到python-mjson.tool。我在bash中尝试了python-mjson.tool$json
或python-mjson.tool,您需要引用变量。如果不这样做,它将折叠空白:
bash-3.2$ x=$'a\tb\nc'
bash-3.2$ cat <<< $x
a b c
bash-3.2$ cat <<< "$x"
a b
c
bash-3.2$x=$'a\tb\nc'
bash-3.2$cat第二次尝试应该是有效的,尽管引用变量扩展可能会有所不同(无论如何,您都应该这样做)。也就是说,您实际上不需要在管道中使用grep | awk
,因为awk可以做grep
所能做的一切(如果不是真的话),对于这类事情,直接使用python可能会更好。您能更详细地介绍一下不使用grep吗?我想如果我grep
a field.awk可以搜索带有给定文本本身的行,它的可读性会更好<代码>/foo/{还有一个很棒的工具,名为,可能对您有用。