본문 바로가기

C Language

here_doc 모드로 사용자 입력 받기

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 파일에 저장됩니다.
이 방식은 파일을 직접 사용하지 않고도 여러 명령어를 파이프로 연결하여 복잡한 텍스트 처리 작업을 수행할 수 있게 해줍니다.

'C Language' 카테고리의 다른 글

자식프로세스와 부모 프로세스의 관계  (0) 2025.01.18
pipe 함수 사용법  (0) 2025.01.18
< infile ls -l | wc -l >outfile  (0) 2025.01.18
pipex 구조체 설명  (0) 2025.01.18
divide_pivot 함수 pivoting algorithm  (0) 2025.01.15