역방향 리디렉션이 파이프와 동일합니까?


11

Linux에서 입력하면

sort < txtfile

그것과 같은 것입니다

cat txtfile | sort

답변:


17

제목 질문 : 아니요. stdin파일 내용에서 가져 오기 ( 입력 리디렉션 )는 한 프로그램의 출력을 다른 프로그램의 입력으로 파이핑하는 것과 다릅니다.

그러나 cat실제로 파일의 내용을 인쇄하기 때문에 결과는 결과와 동일합니다.


그러나 다음조차도 매우 다른 결과를 낳습니다.

$ cat * | sort
$ sort < *

일치하는 파일이 두 개 이상인 경우 후자가 생성됩니다.

-bash: *: ambiguous redirect

이전과 같이 유연하지 않기 때문에 일치하는 모든 파일을 분류하고 입력으로 파이프합니다 sort.


3
무엇에 대해 ... sort *? 고양이의 어떤 쓸모없는 사용, 간접 전혀 쓸모없는 사용, 짧은 생각, 쉬운 입력 없습니다, 그리고 나는 GNU 정렬 매우 큰 파일에 대한 확장 성 최적화에 당신을 치료하는 것으로 판단 (안 확신 그것에 대해 - 반 기억하는 무언가가)
sehe

1
@sehe 아마. 방금 예제를 사용하여 두 가지가 다르다는 것을 보여주었습니다. 이것은 효율적인 정렬 사용에 관한 것이 아닙니다. 정렬은 더 유연합니다.
다니엘 벡

효율성과 관련하여 @DanielBeck sort < txtfile이보다 효율적 cat txtfile | sort입니까?
Pacerier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.