我有一个JSON对象,如下所示,我试图把它放在一个表中。
[
{
"name": "Jay",
"Age": "23"
},
{
"name": "Jamie",
"Age": "32"
},
{
"name": "",
"Age":"26"
}
]
问题是,如果某个列的值不可用,下一列的值就会滑入其中。
例如,这是第三个值发生的情况。我如何防止这种情况发生?
| |name | Age |
|--|---- | ----|
|1.| Jay | 23 |
|2.| Jamie| 32 |
|3.| 26 | |
我的JSON在一个名为listofres
的变量中:
echo "$listofres"
| jq -r '.[] | [.["name"], .["Age"]] | @tsv'
| awk 'BEGIN { printf "%-2s %-20s %-20s\n", "","Name", "Age";
print "---------------------------------------"}
{printf "%-2s. %-20s %-20s\n", (NR < 10 ? " " : "")NR, $1, $2}'
3条答案
按热度按时间oo7oh9g91#
给出:
这对于Miller来说是相当简单的:
图纸:
该markdown呈现为:
| n|名称|年龄|
| --------------|--------------|--------------|
| 1|杰伊|二十三|
| 二|杰米|三十二|
| 三||二十六|
或者漂亮的印刷品:
或禁止:
你也可以使用米勒来处理awk中的JSON(唯一的修改是使用
\t
作为IFS):图纸:
wkyowqbh2#
dpiehjr43#
问题出在对
awk
的调用上。由于您已经使用了@tsv
,因此需要使用awk -F\\t ...
或等效的。