특정 문자(열) 검색하기, grep
`grep`은 텍스트 검색을 위한 강력한 명령어로, UNIX와 Linux 시스템에서 광범위하게 사용됩니다. 이 명령어는 파일 내에서 주어진 패턴이나 문자열을 검색하고 일치하는 줄을 출력합니다. `grep`은 "Global Regular Expression Print"의 약자로, 정규 표현식을 사용하여 텍스트를 검색할 수 있습니다.
기본 사용법
grep [OPTIONS] PATTERN [FILE...]
주요 옵션
- `-i`: 대소문자를 구분하지 않고 검색합니다.
- `-v`: 일치하지 않는 줄을 출력합니다 (부정 검색).
- `-r` 또는 `-R`: 디렉터리를 재귀적으로 검색합니다.
- `-l`: 일치하는 줄을 포함하는 파일 이름만 출력합니다.
- `-n`: 일치하는 줄 앞에 줄 번호를 출력합니다.
- `-E`: 확장 정규 표현식을 사용합니다.
- `-o`: 일치하는 부분만 출력합니다.
사용 예
1. 파일에서 문자열 검색
grep "gnu" filename.txt
2. 여러 파일에서 문자열 검색
grep "gnu" file1.txt file2.txt
3. 대소문자 구분 없이 검색
grep -i "gnu" filename.txt
4. 디렉터리 내 모든 파일에서 재귀적으로 문자열 검색
grep -r "gnu" directory/
5. 정규 표현식으로 검색
grep -E "^[0-9]{3}-[0-9]{2}-[0-9]{4}$" filename.txt
'확장 정규 표현식'을 사용해야 잡아 냅니다.
정규표현식 내용
패턴 ^[0-9]{3}-[0-9]{2}-[0-9]{4}$의 각 부분을 살펴보겠습니다
1. ^: 문자열의 시작을 의미합니다.
2. [0-9]{3}: [0-9]는 0에서 9까지의 어떤 한 자리 숫자와 일치하며, {3}은 앞의 패턴이 정확히 세 번 반복되어야 함을 의미합니다. 따라서 이 부분은 3자리 숫자와 일치합니다.
3. -: 하이픈 문자와 일치합니다.
4. [0-9]{2}: 두 자리 숫자와 일치합니다.
5. -: 또 다른 하이픈 문자와 일치합니다.
6. [0-9]{4}: 네 자리 숫자와 일치합니다.
7. $: 문자열의 끝을 의미합니다.
정리
`grep`는 텍스트 데이터를 처리할 때 매우 유용하며, 로그 파일 분석, 코드 검사, 파일 내 특정 문자열이나 패턴의 출현 횟수 확인 등 다양한 작업에 사용됩니다. 이 명령어의 변형으로 `egrep` (확장 정규 표현식 지원)와 `fgrep` (고정 문자열 검색)도 있습니다.
'Linuxpia > Linux 명령어' 카테고리의 다른 글
[리눅스 명령어] 압축하기, gzip (4) | 2023.09.18 |
---|---|
[리눅스 명령어] 실행 파일을 압축하고 자동으로 풀려 실행되는, gzexe (56) | 2023.09.17 |
[리눅스 명령어] 프로세스 ID를 출력하기, fuser (60) | 2023.09.15 |
[리눅스 명령어] 파일 시스템 검사하기, fsck (61) | 2023.09.14 |
[리눅스 명령어] 메모리 사용량 알아보기, free (59) | 2023.09.13 |