파이프라인 전송에 jq를 사용할 때 발생하는 문제

파이프라인 전송에 jq를 사용할 때 발생하는 문제

이것정밀한여기서 질문이 나왔습니다:

파이프라인 체인에서 jq를 사용하면 출력이 생성되지 않습니다.

그러나 거기에 제공된 답변은 내 문제를 해결하지 못했습니다. 추가적으로 다음 내용을 읽었습니다.

이들 중 어느 것도 내 문제를 해결하지 못했습니다. 좋아, 위의 정보는 내가 숙제를 마쳤다는 것을 알리기 위한 것입니다. 더 읽기 전에 이 질문을 반대하거나 닫지 마십시오. :-)

나는 다음 명령을 사용합니다아름다운 인쇄JSON 파일:

cat a-json-file.json |jq|less

하지만 (END)화면 하단에는 아무것도 표시되지 않습니다. 그런 다음 문제를 검색하여 위의 정보를 찾아 시도했습니다.

cat a-json-file.json |jq --unbuffered|less

아무 일도하지. 그런 다음 설치 expect하고 시도했습니다.

cat a-json-file.json |unbuffer jq|less

역시 작동하지 않고 jq명령줄 사용 정보만 출력합니다!

마지막으로 나는 다음과 같이 문제를 해결했습니다.

jq "." a-json-file.json |less

이제 문제는 파이프 체인이 jq에서 작동하지 않는 이유와 위의 작동하지 않는 명령과 작동하는 명령의 차이점은 무엇입니까?

내 시스템 정보: Debian 10 buster, jq-1.5-1-a5b5cbe.

답변1

@steeldriver의 의견으로 문제가 해결되었습니다.

당신도 시도해 보셨나요 cat a-json-file.json |jq '.'|less? 이는 jq 1.5의 알려진 문제인 것 같습니다. 예를 참조하세요.리디렉션되거나 파이프된 출력의 동작이 다릅니다 #1028및 버그 수정 섹션jq 1.6 릴리스 노트

관련 정보