이것정밀한여기서 질문이 나왔습니다:
파이프라인 체인에서 jq를 사용하면 출력이 생성되지 않습니다.
그러나 거기에 제공된 답변은 내 문제를 해결하지 못했습니다. 추가적으로 다음 내용을 읽었습니다.
- 파이프라인에서 버퍼링 끄기
- https://stackoverflow.com/questions/62809196/how-do-i-keep-colors-when-piping-jq-output-to-less
이들 중 어느 것도 내 문제를 해결하지 못했습니다. 좋아, 위의 정보는 내가 숙제를 마쳤다는 것을 알리기 위한 것입니다. 더 읽기 전에 이 질문을 반대하거나 닫지 마십시오. :-)
나는 다음 명령을 사용합니다아름다운 인쇄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 릴리스 노트