在管道链中使用jq不会产生任何输出
jq网上讨论了重定向输出时需要显式过滤器的问题。但是jq,即使在使用显式过滤器的情况下,如果它是管道链的一部分,我也无法重定向输出。 考虑: touch in.txt tail -f in.txt | jq '.f1' # in a different terminal: echo '{"f1":1,"f2":2}' >> in.txt echo '{"f1":3,"f2":2}' >> in.txt 不出所料,该jq命令在原始终端中的输出为: 1 3 但是,如果在jq命令末尾添加任何类型的重定向或管道,则输出将变为静默: rm in.txt touch in.txt tail -f in.txt | jq '.f1' | tee out.txt # in a different terminal: echo '{"f1":1,"f2":2}' >> in.txt echo …