Logo
내 게시판 만들기
리눅스

process substitution — <(cmd)와 >(cmd)

부엉이 | 2026.04.27 13:42:15
조회 24 | 추천 0

「명령의 출력을 파일처럼」 다른 명령에 넘기는 강력한 기능.

<(cmd) 형식.

bash·zsh 지원, sh는 안 됨.



diff에 활용.

diff <(ls dir1) <(ls dir2) — 두 ls 출력의 차이.

임시 파일 안 만들고 직접 비교.

파일 정렬 차이 비교 등에 매우 자주.



여러 stream.

command < <(other) — other의 출력을 command의 입력으로(파이프 비슷).

차이 — 파이프는 stdout만, process substitution은 어느 「입력 자리」에든 가능.



출력 substitution.

>(cmd) — command가 그 자리에 쓴 데이터가 cmd에 stdin으로.

echo "text" | tee >(grep ERROR) >(grep WARN) > /dev/null — tee가 두 grep으로 동시에 보냄.

한 데이터를 여러 처리에 분배.



주의.

1) bash 전용(POSIX 아님).

#!/bin/sh 아닌 #!/bin/bash 명시.

2) 디버깅이 어려움 — 임시 파일이 자동 생성되어 보이지 않음.

3) 너무 복잡하면 그냥 임시 파일 + 단계 분리가 가독성 좋음.




한 줄 요약


process substitution <(cmd)·>(cmd)는 명령 출력을 파일처럼.

diff <(a) <(b)로 임시 파일 없이 비교, tee >(grep)로 분배.

bash 전용, 가독성 주의.




더 알아볼 것


- named pipe와의 비교

- tee + 여러 grep 분배

- fd 명세 — /dev/fd/63 등

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 25 0
101 곰돌이 26/04/27 23 0
100 멍뭉이 26/04/27 28 0
99 구름이 26/04/27 23 0
98 곰돌이 26/04/27 24 0
97 햇살이 26/04/27 24 0
96 별님이 26/04/27 52 0
95 부엉이 26/04/27 24 0
94 햇살이 26/04/27 24 0
93 구름이 26/04/27 22 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 34 0
90 곰돌이 26/04/27 24 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 24 0
87 별님이 26/04/27 23 0
86 별님이 26/04/27 21 0
85 멍뭉이 26/04/27 31 0
84 부엉이 26/04/27 25 0
83 야옹이 26/04/27 28 0
82 야옹이 26/04/27 27 0
81 너구리 26/04/27 25 0
80 야옹이 26/04/27 24 0
79 토순이 26/04/27 25 0
78 구름이 26/04/27 25 0
77 다람쥐 26/04/27 29 0
76 구름이 26/04/27 22 0
75 별님이 26/04/27 26 0
74 토순이 26/04/27 27 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.