대체 구문을 처리합니다. 앞/오른쪽 브래킷 및 마지막/왼쪽 브래킷

대체 구문을 처리합니다. 앞/오른쪽 브래킷 및 마지막/왼쪽 브래킷

TLDP프로세스 대체를 위한 두 가지 구문이 나열됩니다. >(command_list)그리고<(command_list)

있다면 차이점은 무엇입니까?

답변1

예, 상당한 차이가 있습니다. 바라보다http://www.gnu.org/software/bash/manual/bashref.html#Process-Substitution

프로세스 대체는 명명된 파이프(FIFO) 또는 /dev/fd 명명된 파일 열기 방법을 지원하는 시스템에서 지원됩니다. 형태를 취합니다

<(목록)

또는

>(목록)

프로세스목록실행 시 입력 또는 출력은 FIFO 또는 /dev/fd의 파일에 연결됩니다. 파일 이름은 확장 결과로 현재 명령에 인수로 전달됩니다.만약 >(목록) 형식을 사용하면 작성된 파일이목록. 만약 <(목록) 형식에서 인수로 전달된 파일을 읽어야 다음 출력을 얻을 수 있습니다.목록.< 또는 >와 여는 대괄호 사이에는 공백이 있어서는 안 됩니다. 그렇지 않으면 구문이 리디렉션으로 해석됩니다.

예: comm입력 파일을 정렬해야 합니다.

comm <(sort file1) <(sort file2)

사용 빈도 >(cmd)는 낮습니다. 나는 보통 이것을 tee다양한 파이프로 출력을 보내는 데 사용합니다.

seq 10 | tee >(rev > out1) >(tac > out2) >(shuf > out3)

관련 정보