C Language

here_doc 모드로 사용자 입력 받기

TranslatorJohn 2025. 1. 18. 21:54

here_doc 모드로 사용자 입력 받기

이 사용법 메시지는 pipex 프로그램의 "here_doc" 모드 실행 방법을 남깁니다.

구성 요소 설명
./pipex: 실행할 프로그램의 이름입니다.
here_doc: 프로그램을 here document 모드로 실행하라는 옵션입니다.

 

LIMITER: here document의 끝을 나타내는 구분자입니다.

 

cmd1 cmd2 ... cmdn: 실행할 명령어들입니다. 최소 두 개의 명령어가 필요하며, 더 많은 명령어를 사용할 수 있습니다.

 

file2: 최종 출력이 저장될 파일명입니다.

 

동작 방식
프로그램은 표준 입력에서 텍스트를 읽기 시작합니다.
LIMITER와 일치하는 줄을 만날 때까지 입력을 계속 읽습니다.
읽은 내용을 첫 번째 명령어(cmd1)의 입력으로 전달합니다.
각 명령어의 출력은 파이프를 통해 다음 명령어의 입력으로 전달됩니다.
마지막 명령어의 출력은 지정된 출력 파일(file2)에 저장됩니다.

 

예시

 

다음과 같이 프로그램을 실행할 수 있습니다:
bash
./pipex here_doc EOF "grep hello" "wc -l" output.txt
이 명령을 실행하면:
프로그램은 사용자의 입력을 기다립니다.

 

사용자는 여러 줄의 텍스트를 입력할 수 있습니다:
text
hello world
goodbye world
hello again
EOF
'EOF'를 입력하면 입력이 종료됩니다.

 

입력된 텍스트에서 'grep hello'가 실행되어 "hello"가 포함된 줄을 찾습니다.
그 결과가 'wc -l'로 전달되어 줄 수를 계산합니다.
최종 결과(이 경우 2)가 output.txt 파일에 저장됩니다.
이 방식은 파일을 직접 사용하지 않고도 여러 명령어를 파이프로 연결하여 복잡한 텍스트 처리 작업을 수행할 수 있게 해줍니다.