Linuxpia/리눅스 사용 팁

[리눅스 팁] 프로세스 치환하기

Linuxpia4U 2024. 4. 26. 05:58
반응형

프로세스 치환

프로세스 치환(Process Substitution)은 리눅스 쉘에서 사용되는 고급 기법 중 하나입니다. 이 기법은 하나의 명령어의 출력을 다른 명령어의 입력으로 연결하는 파이프라인과 유사하지만, 두 명령어를 동시에 실행할 수 있으며, 일반 파일을 읽고 쓰는 것처럼 두 명령어 간의 데이터 흐름을 처리합니다.

프로세스 치환의 두 가지 형태

  • <() : 명령어의 출력을 파일처럼 읽을 수 있는 임시 파일로 만듭니다.
  • >() : 파일처럼 데이터를 명령어로 쓸 수 있는 임시 파일로 만듭니다.

예시: <() 사용하기

<() 형태의 프로세스 치환은 일반적으로 명령어의 출력을 다른 명령어의 파일 입력으로 사용할 때 적합합니다.

diff <(ls dir1) <(ls dir2)

이 명령은 dir1dir2 두 디렉터리(디렉터리)의 내용을 비교합니다. ls dir1ls dir2 명령의 출력이 각각 임시 파일처럼 취급되어 diff 명령의 두 입력 파일로 사용됩니다.

caption: '<' 사용 치환하기

예시: >() 사용하기

>() 형태의 프로세스 치환은 일반적으로 명령어의 입력을 다른 명령어의 출력으로 사용할 때 적합합니다. 다음은 >()의 사용 예시입니다:

tee >(grep 'pattern1' > file1) >(grep 'pattern2' > file2) < inputfile

 

이 명령은 inputfile의 내용을 tee를 통해 두 개의 grep 명령어로 보내고, 각각의 grep 명령은 지정된 패턴과 일치하는 라인을 별도의 파일(file1file2)에 저장합니다.

 

프로세스 치환은 복잡한 데이터 흐름을 필요로 하는 스크립트나 명령어에서 매우 유용하게 사용됩니다. 하지만 모든 쉘에서 지원되는 기능은 아니며, 주로 Bash 쉘에서 사용됩니다.

반응형