我使用cat file.json | jq -c在AWS管道步骤中的日志中打印出一个缩小的json文件。我已经测试过它在本地工作,但是在管道中它失败了,并打印出了系统的使用情况:
jq - commandline JSON processor [version 1.5]
Usage: jq [options] <jq filter> [file...]
...为什么它在管道中失败,而不是在本地?
发布于 2022-05-20 05:57:32
解决方案是在AWS中使用cat file.json | jq -c . (注意添加的点)。
经过一些实验,我发现这种情况只发生在JQ1.5中(我在本地有JQ1.6),而且只有在分离的终端中使用jq -c而不是jq -c .时才会发生。我的AWS管道使用JQ1.5。
我通过下载JQ1.5并运行:
$ cat input.json | ./jq1.5 -c >output.txt &
[1] 822
jq - commandline JSON processor [version 1.5]
Usage: C:\Workspace\jq\jq1.5.exe [options] <jq filter> [file...]请注意,符号并在模拟独立终端的后台执行它。
什么起作用:
cat input.json | ./jq1.6 -c >output.txt &
cat input.json | ./jq1.5 -c . >output.txt &
cat input.json | ./jq1.5 -c >output.txt总之,如果在分离的终端中使用jq1.5,也可以使用点。
https://stackoverflow.com/questions/72314169
复制相似问题