★ Linux Shell 입력 리디렉션
입력 리디렉션은 입력 방향을 변경하는 것이며 더 이상 키보드를 명령 입력 소스로 사용하지 않고 파일을 명령 입력으로 사용합니다.
표 3 : Bash에서 지원하는 출력 리디렉션 기호
상징 |
기술 |
명령 <파일 |
파일 파일의 내용을 명령 입력으로 사용하십시오. |
명령 << END |
표준 입력 (키보드)에서 데이터를 읽고 구분 기호 END를 충족 할 때까지 중지합니다 (구분 기호는 사용자가 정의한 임의의 문자열 일 수 있음). |
명령 <파일1> 파일2 |
명령의 입력으로 file1을 사용하고 명령의 처리 결과를 file2에 출력합니다. |
출력 리디렉션과 유사하게 입력 리디렉션의 전체 단어는입니다 fd<file. 여기서 fd는 파일 설명자를 나타내며 작성되지 않은 경우 기본값은 표준 입력 파일 인 0입니다.
입력 리디렉션 예
[예제 1] 문서에있는 텍스트 줄 수를 센다.
Linux wc 명령을 사용하여 단어, 행 및 바이트 수를 포함하여 텍스트를 계산할 수 있습니다. 사용법은 다음과 같습니다.
- wc [옵션] [파일 이름]
그중 -c옵션은 바이트 수를, -w옵션은 단어 수를, -l옵션은 행 수를 계산합니다.
readme.txt 파일에있는 텍스트 줄 수를 세십시오.
- [root] $ cat readme.txt # 파일 내용 미리보기
- 나는
- 매우
- 자신있다.
- [root] $ wc -l <readme.txt # 입력 리디렉션
- 3
[예제 2] 파일 내용을 한 줄씩 읽습니다.
- #! / bin / bash
- while read str; do
- echo $ str
- done <readme.txt
운영 결과 :
나는
매우
자신있다.
이를 코드 블록 리디렉션이라고하며 동시에 명령 그룹을 파일로 리디렉션합니다. " 셸 코드 블록 리디렉션 "섹션에 자세히 설명되어 있습니다.
[예제 3] 사용자가 단말기에 입력 한 텍스트 줄 수를 센다.
여기서는 입력 방향 재 지정 기호를 사용합니다 <<.이 기호의 기능은 Ctrl + D 키를 사용하는 대신 명령 입력의 끝 기호로 특정 구분 기호를 사용하는 것입니다.
[root] $ wc -l << END
> 123
> 789
> abc
> xyz
> END
4
wc 명령은 구분 기호 END를 만나고 읽기를 완료 할 때까지 입력을 기다립니다.
<<다음 구분 기호는 자유롭게 정의 할 수 있습니다. 동일한 구분 기호가 다시 발생하는 한 두 구분 기호 사이의 내용이 명령 입력으로 사용됩니다 (구분자 자체는 포함하지 않음).
'Linux' 카테고리의 다른 글
Linux Shell 파이프 라인에 대한 자세한 설명 - 2장 (0) | 2020.10.20 |
---|---|
Linux Shell 파이프 라인에 대한 자세한 설명 - 1장 (0) | 2020.10.19 |
Linux Shell 리디렉션 (입력 및 출력 리디렉션) - 2장 (0) | 2020.10.19 |
Linux Shell 리디렉션 (입력 및 출력 리디렉션) - 1장 (0) | 2020.10.19 |
쉘 기능 매개 변수 / Shell let 명령 : 정수에 대한 수학적 연산 (0) | 2020.10.16 |