반응형
프로세스 치환
프로세스 치환(Process Substitution)은 리눅스 쉘에서 사용되는 고급 기법 중 하나입니다. 이 기법은 하나의 명령어의 출력을 다른 명령어의 입력으로 연결하는 파이프라인과 유사하지만, 두 명령어를 동시에 실행할 수 있으며, 일반 파일을 읽고 쓰는 것처럼 두 명령어 간의 데이터 흐름을 처리합니다.
프로세스 치환의 두 가지 형태
<(): 명령어의 출력을 파일처럼 읽을 수 있는 임시 파일로 만듭니다.>(): 파일처럼 데이터를 명령어로 쓸 수 있는 임시 파일로 만듭니다.
예시: <() 사용하기
<() 형태의 프로세스 치환은 일반적으로 명령어의 출력을 다른 명령어의 파일 입력으로 사용할 때 적합합니다.
diff <(ls dir1) <(ls dir2)
이 명령은 dir1과 dir2 두 디렉터리(디렉터리)의 내용을 비교합니다. ls dir1과 ls dir2 명령의 출력이 각각 임시 파일처럼 취급되어 diff 명령의 두 입력 파일로 사용됩니다.

예시: >() 사용하기
>() 형태의 프로세스 치환은 일반적으로 명령어의 입력을 다른 명령어의 출력으로 사용할 때 적합합니다. 다음은 >()의 사용 예시입니다:
tee >(grep 'pattern1' > file1) >(grep 'pattern2' > file2) < inputfile
이 명령은 inputfile의 내용을 tee를 통해 두 개의 grep 명령어로 보내고, 각각의 grep 명령은 지정된 패턴과 일치하는 라인을 별도의 파일(file1과 file2)에 저장합니다.
프로세스 치환은 복잡한 데이터 흐름을 필요로 하는 스크립트나 명령어에서 매우 유용하게 사용됩니다. 하지만 모든 쉘에서 지원되는 기능은 아니며, 주로 Bash 쉘에서 사용됩니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
| Bash에서 문자열을 파이핑하여 명령을 실행 (78) | 2024.04.28 |
|---|---|
| [리눅스 팁] bash에 문자열을 인수로 전달해서 명령 실행하기 (66) | 2024.04.27 |
| 변수를 인용 부호(따옴표) 안에 넣었을 때와 넣지 않았을 때의 차이 (62) | 2024.04.25 |
| 치환(command substitution)을 사용하여 명령 실행 (65) | 2024.04.24 |
| [리눅스 팁] 명령의 성공 또는 실패 여부를 나타내는 종료 코드 (59) | 2024.04.22 |