[Linux] cat 명령어를 이용해 여러 줄(multiline) 입력하기(stdin)
cat 명령어를 통해서 여러 줄을 입력하는 방법을 알아보자
환경 및 선수조건
- Linux
- Bash shell(/bin/bash)
cat 명령어
cat
: 파일들을 인자로 받아서 해당 파일들을 연결해 표준출력으로 출력합니다.- 간단히 말해 들어오는 파일명들의 파일 내용을 쉘 화면에 출력해주는 명령어입니다.
예시 및 사용법
- 사용법:
cat [OPTION]... [FILE]...
- 옵션들은 아래 참고자료에 있는 링크에 가시면 볼 수 있습니다.
$ echo "Test Document" >> test.txt
$ cat test.txt # cat 명령어의 기본 사용법
Test Document
cat을 이용해 여러 줄 입력하기
cat
다음에<<
를 쓰고 원하는 표시자를 씁니다. 아래의 경우에는EOF
를 사용하였는데 다른 단어를 사용해도 됩니다. 단, 처음에 사용한 단어가 끝에도 같아야 합니다. 여기에EOF
를 사용했기 때문에 마지막에 입력을 끝내려면 똑같이EOF
를 입력하면됩니다.- 이러한 부분을
Here-Document
라고 하는데 자세한 내용은 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04에 나와있습니다.
$ cat << EOF
> This
> is
> multiline test
> EOF
This
is
multiline test
$
cat을 이용해 여러 줄을 파일로 생성하기
Here-Document
와Redirection
의 응용입니다.stdin
을 cat 명령어로 받고Redirection
를 통해서 파일에stdout
의 내용을 출력합니다. 어려우면 그냥 아래처럼 사용하셔도 무방합니다!!- 개행문자를 포함해서 파일에 쓰고 싶을 때 아래처럼 사용합니다.
Redirection
에 관해서는 Redirect와 Pipe의 차이를 참고하세요.
$ # 아래와 같습니다
$ cat << EOF > test.txt
> This
> is
> multiline file write
> EOF
$ cat test.txt
This
is
multiline file write
$
$ # 아래와 같습니다
$ cat > test_another.txt << EOF
> Another
> multiline text to file test
> EOF
$ cat test_another.txt
Another
multiline text to file test
$