수색…
통사론
- 고양이 [옵션] ... [FILE] ...
매개 변수
선택권 | 세부 |
---|---|
-엔 | 행 번호 인쇄 |
-V | LFD 및 TAB을 제외한 ^ 및 M- 표기법을 사용하여 인쇄되지 않는 문자 표시 |
-티 | Tab 문자를 ^ I로 표시하십시오. |
-이자형 | 줄 바꿈 (LF) 문자를 $로 표시 |
-이자형 | -vE와 동일 |
-비 | 비어 있지 않은 출력 행 번호를 재정의합니다. -n |
-에이 | -vET와 동등하다. |
-에스 | 반복되는 빈 출력 행을 억제합니다. s는 squeeze를 나타냅니다. |
비고
cat
은 파일과 표준 입력을 모두 읽고 표준 출력에 연결할 수 있습니다.
파일의 내용 인쇄하기
cat file.txt
파일의 내용을 인쇄합니다.
파일에 ASCII 이외의 문자가 포함되어 있으면 cat -v
하여 기호를 기호로 표시 할 수 있습니다. 이것은 제어 문자가 보이지 않는 경우에 유용합니다.
cat -v unicode.txt
매우 자주, 상호 작용 사용을 위해, 당신은 같은 양방향 호출기를 사용하는 것이 더 낫다 less
또는 more
하지만. ( less
보다 훨씬 더 강력 more
사용하는 것이 좋습니다 less
보다 더 자주 more
.)
less file.txt
파일의 내용을 명령의 입력으로 전달하는 것. 보통 더 나은 것으로 보이는 접근법 ( UUOC )은 리디렉션을 사용하는 것입니다.
tr A-Z a-z <file.txt # as an alternative to cat file.txt | tr A-Z a-z
내용을 끝에서부터 역순으로 나열해야 할 경우 tac
명령을 사용할 수 있습니다.
tac file.txt
행 번호가있는 내용을 인쇄하려면 cat
-n
을 사용하십시오.
cat -n file.txt
파일 내용을 완전히 모호하지 않은 바이트 단위로 표시하려면 16 진 덤프가 표준 솔루션입니다. 이는 정확한 인코딩을 모르는 경우와 같이 파일의 아주 짧은 발췌 문장에 유용합니다. 표현은 약간 od -cH
만 표준 hex 덤프 유틸리티는 od -cH
. 일반적인 대체품에는 xxd
및 hexdump
포함됩니다.
$ printf 'Hëllö wörld' | xxd
0000000: 48c3 ab6c 6cc3 b620 77c3 b672 6c64 H..ll.. w..rld
출력이있는 행 번호 표시
각 행 앞에 행 x 호를 인쇄하려면 --number
플래그를 사용하십시오. 또는 -n
이 동일한 작업을 수행합니다.
$ cat --number file
1 line 1
2 line 2
3
4 line 4
5 line 5
행을 세는 경우 빈 행을 건너 뛰려면 --number-nonblank
또는 단순히 -b
.
$ cat -b file
1 line 1
2 line 2
3 line 4
4 line 5
표준 입력에서 읽기
cat < file.txt
출력은 cat file.txt
와 동일하지만 파일의 내용을 파일에서 직접 읽는 대신 표준 입력에서 읽습니다.
printf "first line\nSecond line\n" | cat -n
|
전에 echo 명령을 |
두 줄을 출력합니다. cat 명령은 행 번호를 추가하기 위해 출력에 작용합니다.
파일 연결
이것은 cat
의 주된 목적입니다.
cat file1 file2 file3 > file_all
cat
은 파이프 라인의 일부로 파일을 연결하는 것과 유사하게 사용될 수 있습니다.
cat file1 file2 file3 | grep foo
파일에 쓰기
cat >file
file이라는 파일에 저장 될 터미널에 텍스트를 쓸 수있게 해줍니다.
cat >>file
파일 끝 부분에 텍스트를 추가한다는 점을 제외하고는 동일한 작업을 수행합니다.
주의 : 터미널에 텍스트 쓰기를 끝내려면 Ctrl + D 를 누릅니다 (Linux).
here document는 파일의 내용을 명령 행이나 스크립트로 인라인하기 위해 사용될 수있다.
cat <<END >file
Hello, World.
END
<<
리디렉션 기호 다음에 나오는 토큰은 임의의 문자열로, 여기에 문서의 끝을 나타 내기 위해 줄에 (선행 공백이나 후행 공백이없는) 단독으로 발생해야합니다. 셸이 명령 대체 및 변수 보간을 수행하지 못하도록 따옴표를 추가 할 수 있습니다.
cat <<'fnord'
Nothing in `here` will be $changed
fnord
따옴표가 없으면 here
에 명령으로 실행되고 $changed
는 변수가 changed
값으로 대체되거나 정의되지 않은 경우 아무 것도 changed
되지 않습니다.
인쇄 할 수없는 문자 표시
이것은 인쇄 할 수없는 문자 또는 비 ASCII 문자가 있는지 확인하는 데 유용합니다.
당신이 웹에서 코드를 복사하여 붙여 넣은 경우 예를 들어, 당신은 같은 따옴표를 가질 수있다 ”
대신 표준 "
.
$ cat -v file.txt
$ cat -vE file.txt # Useful in detecting trailing spaces.
예
$ echo '” ' | cat -vE # echo | will be replaced by actual file.
M-bM-^@M-^] $
cat -vET
와 동일한 cat -A
(모두에 대해 A)를 사용할 수도 있습니다. ^I
로 표시되는 탭 문자, 인쇄 할 수없는 문자 및 각 행의 끝이 표시됩니다.
$ echo '” `' | cat -A
M-bM-^@M-^]^I`$
gzipped 파일 연결하기
gzip
으로 압축 된 파일은 더 큰 gzip 파일로 직접 연결할 수 있습니다.
cat file1.gz file2.gz file3.gz > combined.gz
이것은 gzip
의 속성으로 입력 파일을 연결하고 결과를 gzip
하는 것보다 효율적이지 않습니다.
cat file1 file2 file3 | gzip > combined.gz
완전한 데모 :
echo 'Hello world!' > hello.txt
echo 'Howdy world!' > howdy.txt
gzip hello.txt
gzip howdy.txt
cat hello.txt.gz howdy.txt.gz > greetings.txt.gz
gunzip greetings.txt.gz
cat greetings.txt
어느 결과
Hello world!
Howdy world!
greetings.txt.gz
는 단일 파일 이며 단일 파일 greeting.txt
로 압축 해제됩니다. 이것을 tar -czf hello.txt howdy.txt > greetings.tar.gz
와 비교해보십시오.이 파일은 tarball 내부에서 파일을 분리 보관합니다.