grep ( Globally find Regular-Expression and Print )
grep 명령어는 기본 정규식 으로 파일내의 특정 문자를 검색 편집 필터 해서 볼수 있습니다.
사용법: grep [옵션]... 패턴 [파일]...
egrep 은 grep 의 확장된 명령어 이며 파일내의 특정 문자를 확장된 정규표현식으로 검색할수 있습니다.
egrep = grep -E 의 명령어와 같습니다.
fgrep = 파일내의 특정문자를 고정된 문자열로만 인식하여 검색합니다.
zgrep = 압축된 파일내에서 특정 문자나 단어를 검색합니다.
모든 명령어의 옵션 형식은 grep 과 동일 합니다.
정규식 선택과 해석
-E, --extended-regexp 확장된 정규 표현식으로 된 패턴 (ERE)
-F, --fixed-strings 개행 문자로 구분된 고정 길이 문자열로 된 패턴
-G, --basic-regexp 기본 정규 표현식으로 된 패턴 (BRE)
-P, --perl-regexp 펄 정규 표현식으로 된 패턴
-e, --regexp=PATTERN 패턴을 이용해서 찾기
-f, --file=FILE 파일에서 패턴을 가져옴
-i, --ignore-case 대소문자 구분 안 함
-w, --word-regexp 전체 단어에 대해서만 패턴 비교
-x, --line-regexp 전체 라인에 대해서만 패턴 비교
-z, --null-data 새 줄이 아닌 0 바이트인 줄 끝 데이터
-v 검색어 패턴과 일치하지 않는 것을 찾음
-n line number 출력
-r 하위 디렉토리 까지 검색
-c 패턴과 일치하는 라인 수를 출력
grep 에서 사용 되는 검색문자 패턴 정규식표현
. : 문자 아무거나를 의미함 한개의 문자 ( ?와 동일 )
*: 어떠한 문자열이나 문자길이에 무관한 문자열을 의미함
^: 행의 시작 문자를 의미
$: 행의 마지막 문자를 의미
[]: 한문자 길이의 패턴리스트
[^ ] : 지정된 문자들 이외의 문자들을 의미
\ : 뒤에 오는 문자를 문자 그대로 인식 ( 특수 문자를 표현할때 예로 /bin/bash 라 할때 \/bin\/bash 라 해야됨. )
/< : 단어의 시작 위치를 의미
/> : 단어의 마지막 위치를 의미
예로 이런 텍스트 문서가 있다고 치면
IU 15,500 22 42 31 55
Sosi 16,000 34 49 12 47
missA 14,000 24 33 41 34
Apink 14,500 26 36 49 41
Aoa 15,000 32 35 29 52
## 특정문자를 포함한 행의 갯수를 출력.
hoon-pc test # grep -c "A" testfile1 <=== testfile1 에서 A 라는 문자가 들어간 행의 숫자를 표현하라는 의미
그럼 행의 숫자가 3 이 나옵니다.
## 특정문자를 포함하지 않는 행을 출력.
hoon-pc test # grep -v "A" testfile1
IU 15,500 22 42 31 55
Sosi 16,000 34 49 12 47
위 명령어를 통하여 A라는 문자를 포함한 행은 출력을 제외 하고 있습니다.
대소문자를 구분 않하겠금 할려면 i 옵션을.
### ls -l 명령어나 ll 이라는 명령어를 통하여 디렉토리만 확인 할려고 할땐
hoon-pc test # ls -l
-rw-r--r-- 1 hoon hoon 199757 7월 17 17:05 1.jpeg
-rw------- 1 hoon hoon 2152247 7월 25 2014 20140725_213455.jpg
-rw------- 1 hoon hoon 2270616 7월 25 2014 20140725_213511.jpg
-rw------- 1 hoon hoon 21507413 6월 30 10:31 2015-KRnet-NFV_SDN.zip
drwx------ 3 hoon hoon 4096 7월 30 2014 IP SCAN
drwx------ 7 hoon hoon 4096 7월 30 2014 ISMS
drwx------ 2 hoon hoon 4096 7월 30 2014 html_backup
drwxr-xr-x 2 hoon hoon 4096 6월 4 10:38 intel dpdk
-rw------- 1 hoon hoon 570064 5월 12 16:23 mpls.odp
drwxr-xr-x 5 hoon hoon 4096 6월 16 14:58 onie
hoon-pc test # ls -l |grep ^d
drwx------ 3 hoon hoon 4096 7월 30 2014 IP SCAN
drwx------ 7 hoon hoon 4096 7월 30 2014 ISMS
drwx------ 2 hoon hoon 4096 7월 30 2014 html_backup
drwxr-xr-x 2 hoon hoon 4096 6월 4 10:38 intel dpdk
drwxr-xr-x 5 hoon hoon 4096 6월 16 14:58 onie
이런식으로 응용 가능합니다 이와 반대로 디렉토리를 제외한 파일들의 리스트를 보고싶은 경우에는
-v 옵션을 사용 해주시면 됩니다.
hoon-pc test # ls -l |grep -v ^d
-rw-r--r-- 1 hoon hoon 199757 7월 17 17:05 1.jpeg
-rw------- 1 hoon hoon 2152247 7월 25 2014 20140725_213455.jpg
-rw------- 1 hoon hoon 2270616 7월 25 2014 20140725_213511.jpg
-rw------- 1 hoon hoon 21507413 6월 30 10:31 2015-KRnet-NFV_SDN.zip
-rw------- 1 hoon hoon 570064 5월 12 16:23 mpls.odp
'Technical > System' 카테고리의 다른 글
logwatch,Sendmail /var/spool/clientmqueue 용량 (0) | 2021.04.21 |
---|---|
php.ini soap 모듈 설치 (0) | 2021.04.16 |
Redhat Linux RPM 사용법 (0) | 2021.04.16 |
네트워크 루핑 (looping)이 발생될때 서버는 어떤 로그를 남기는가? (0) | 2021.04.16 |
AWK 명령어의 활용 방법. (0) | 2021.04.16 |
댓글