나에게 이상한 점은 파이프가 |
다음 명령에 대해 다르게 동작한다는 것입니다.
curl http://norvig.com/big.txt | sort
curl http://norvig.com/big.txt | grep employ
첫 번째 명령에서 파이프라인은 curl
실행이 종료될 때까지 기다립니다. 두 번째 명령에서는 실행 중인 grep
동안 중간 출력을 파이프합니다 .curl
파이프라인의 작동 방식을 결정하는 것은 무엇입니까?
고쳐 쓰다:
sort
문제는 무엇을 했는지 , grep
무엇을 할 수 있는지가 아닙니다 . 문제는 파이프라인이 어떻게 알 수 있느냐는 것입니다.
답변1
제가 생각하는 이유는 다음과 같습니다.
sort
입력 읽기가 완료될 때까지 정렬을 시작할 수 없습니다(또는 최소한 결과 인쇄).
grep
입력을 받기 시작하면 작업을 시작하고 결과 인쇄를 시작할 수 있습니다.