Bash 및 zsh (및 다른 쉘)에서는 프로세스 대체 ( Bash / zsh )를 사용하여 파일을 즉시 작성한 후 파이프 라인 체인의 다음 프로세스에 대한 입력으로 사용할 수 있습니다.
예를 들어 jq
and를 사용하여 cURL에서 JSON 출력을 구문 분석하려고 less
했지만 Failed writing body
오류가 발생했습니다.
# Note: this does NOT work
curl https://gitlab.com/api/v4/projects/ | jq | less
프로세스 대체를 사용하여 다시 작성하면 효과가 있습니다!
# this works!
jq "" <(curl https://gitlab.com/api/v4/projects/) | less
참고 : jq
두 번째 인수를 사용하여 입력 파일을 지정하십시오.
보너스 : 당신이 사용하는 경우 jq
나처럼하고 싶은 색상 화 출력을 유지 에 less
, 대신 다음 명령 줄을 사용하십시오
jq -C "" <(curl https://gitlab.com/api/v4/projects/) | less -r
( 왜 발생 했는지 에 대한 설명에 대해 Kowaru 에게 감사합니다 . 그러나 두 번 사용하는 솔루션은 저에게 효과적이지 않습니다. 또한 대용량 파일에 대해 더 나은 확장 성을 제공하고 의견으로 언급 된 다른 문제를 피하려는 솔루션을 찾고 싶었습니다. 그 대답에.) Failed writing body
tac