cat과 grep도 자주 쓰이는 리눅스 명령어 리스트의 단골 손님들이다.
무슨 역할을 하는 명령어인지 살펴보자.
1. cat
cat 명령어는 concatenate의 축약어로, 두 파일의 내용을 합치기 위한 용도로 만들어졌지만 그 외에도 많은 용도가 있다.
새 파일을 만들거나 터미널에 파일 내용을 출력할 때에도 쓰이며, 출력 결과를 다른 명령어와 연계해서 이용할 수도 있다.
이러한 용도들에 대해 간단히 설명하고자 한다.
1) 새 파일 생성
cat > [생성할 파일명]
(내용 입력 후 Ctrl+d로 저장)
예시
2) 파일 내용 추가
> 는 기존의 내용은 지워지고 새로운 내용이 들어가지만, >> 는 기존의 내용에 새로운 내용이 추가된다.
cat >> [편집할 파일명]
(추가할 내용 입력 후 Ctrl+d로 저장)
예시
1)과 2)를 순차적으로 수행하고 jooyeok파일을 확인했더니 두 줄이 잘 입력되었다.
3) 파일 내용 출력
한 파일 뿐만 아니라, cat 명령어 뒤에 여러 파일을 띄어쓰기를 경계로 나열하여 여러 파일 내용을 합쳐 출력할 수도 있다.
cat [파일명] ...
예시
4) 여러 파일 내용을 합쳐서 저장
예시
여러 파일을 합치지 않고 다른 이름으로 저장할 수도 있다.
예시
5) |(pipe) 를 이용한 연계
예시
ls -l 명령어에 대한 실행 결과를 filelist 파일에 저장(파일은 자동으로 생성됨)
2. grep
grep 명령어는 파일의 내용에서 특정 문자열을 찾을 때 쓰인다.
문자열을 찾았다면 그 문자열이 들어간 전체 줄을 반환한다.
단순 문자열 비교가 아닌 정규 표현식 패턴으로 찾을 수도 있다.
grep [옵션] [패턴] [파일명]
※ -v 옵션은 찾은 문자열이 속하지 않는 줄들을 모두 반환한다.
예시1
grep "lamb" * 은 linux_test 디렉토리에 있는 모든 파일(*)을 대상으로 "lamb"라는 문자열을 찾는 명령어이다.
찾는 문자열이 포함된 파일과, 모든 줄이 잘 반환되었다.
예시2
|(pipe)를 이용하여 도움말과도 연계할 수 있다.
ls -al 명령어에 대한 출력 결과에서, lamb+2~9사이의 숫자로 조합된 문자열이 속하는 모든 줄을 반환한다. 그래서 lamb1 파일은 표시되지 않았다.
"lamb[2-9]"가 정규 표현식 패턴에 해당한다.
grep의 여러 옵션들과 정규식 패턴들을 잘 설명해놓은 다른 블로그글을 첨부했으니 참고하면 좋을 것 같다.
'Linux' 카테고리의 다른 글
[Linux] Kernel / Shell / Shell script (0) | 2021.03.18 |
---|---|
[Linux] pipe('|')와 redirection('>')의 차이 / 출력 버리기(/dev/null) (0) | 2021.03.17 |
[Linux] wget으로 파일 다운로드 / git (0) | 2021.03.16 |
[Linux] sudo / package manager / nano 파일 편집기 (0) | 2021.03.15 |
[Linux] 도움말 / 파일, 디렉토리 관련 명령어 (0) | 2021.03.11 |
댓글