【发布时间】:2021-09-21 21:49:45
【问题描述】:
输入:
BBAOMACBOOKAIR2?976?AMPDeviceDiscoveryAgent[976]:? - Can't handle disconnect with invalid ecid?0700-0800?8
BBAOMACBOOKAIR2?976?AMPDeviceDiscoveryAgent[976]:? - Can't handle disconnect with invalid ecid?0800-0900?40
BBAOMACBOOKAIR2?976?AMPDeviceDiscoveryAgent[976]:? - Can't handle disconnect with invalid ecid?0900-1000?18
BBAOMACBOOKAIR2?976?AMPDeviceDiscoveryAgent[976]:? - Can't handle disconnect with invalid ecid?1000-1100?14
BBAOMACBOOKAIR2?976?AMPDeviceDiscoveryAgent[976]:? - Can't handle disconnect with invalid ecid?1100-1200?2
代码:
input | jq -R 'split("?")|{ deviceName:.[0], ProcessId:.[1], processName:.[2], description:.[3], timeWindow:.[4], numberOfOccurrence:.[5] }'
错误:我试图通过一夜之间搜索谷歌结果来解决它,但我一无所获。你能告诉我哪里出错了吗?
jq: error: syntax error, unexpected IDENT, expecting '}' (Unix shell quoting issues?) at <top-level>, line 1:
split("?")|{ deviceName:.[0], ProcessId:.[1], processName:.[2], description:.[3] timeWindow:.[4], numberOfOccurrence:.[5] }
jq: error: May need parentheses around object key expression at <top-level>, line 1:
split("?")|{ deviceName:.[0], ProcessId:.[1], processName:.[2], description:.[3] timeWindow:.[4], numberOfOccurrence:.[5] }
【问题讨论】:
-
它对我有用。
-
@Barmar 你能告诉我输出吗?
-
[root@localhost bash]# bash -version GNU bash,版本 4.2.46(2)-release (x86_64-redhat-linux-gnu) 版权所有 (C) 2011 Free Software Foundation, Inc. [root@localhost bash]# jq --version jq-1.6
-
对我也有用;输出一堆单独的 JSON 对象。
-
请注意,错误信息中回显的jq过滤器与您提供的不一样;错误中的一个缺少逗号。这肯定可以解释为什么该过滤器不起作用。