링크 ux 텍스트 처리 도구 grep
grep 는 정규 표현 식 으로 파일 을 검색 하고 일치 하 는 줄 을 인쇄 할 수 있 는 강력 한 텍스트 검색 도구 입 니 다.유 닉 스 의 가족 은 grep, egrep, fgrep 를 포함한다.
grep: 기본 정규 표현 식 지원
egerp: 정규 표현 식 확장
fgrep: 정규 표현 식 문자 가 지원 되 지 않 습 니 다. 문자열 을 검색 하 는 속도 가 빠 릅 니 다.
grep 용법
grep [options] 'pattern' FILE
옵션:
-v 역방향 선택, 패턴 에 맞지 않 는 줄 만 표시
-o 전체 줄 이 아 닌 패턴 에 일치 하 는 문자열 만 표시 합 니 다.
-i 문자 대소 문자 구분 없 음
-A 일치 하 는 줄 을 표시 하 는 것 외 에 N 줄 을 표시 합 니 다.
-B 일치 하 는 줄 을 표시 하 는 것 외 에 앞의 N 줄 을 표시 합 니 다.
-C 일치 하 는 줄 을 표시 하 는 것 외 에 앞 뒤의 N 줄 을 표시 합 니 다.
-E 확 장 된 정규 표현 식 grep - E = egrep 사용 하기
--color=auto 일치 하 는 줄 강조
3. 정규 표현 식http://mybsir.blog.51cto.com/4618614/1371362)
4. 정규 일치 예제
시험 일치 파일 / etc / passwd
1. 루트 가 있 는 줄 과 일치 합 니 다.
grep 'root' /tmp/grep.txt
[root@myb362 ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
2. 루트 를 비롯 한 줄 과 일치 합 니 다.
grep '^root' /etc/passwd
[root@myb362 ~]# grep '^root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
3. bash 로 끝 나 는 줄 과 일치 합 니 다.
grep 'bash$' /etc/passwd
[root@myb362 ~]# grep 'bash$' /etc/passwd
root:x:0:0:root:/root:/bin/bash
4. 공백 줄 일치
grep '^$' /etc/fstab
[root@myb362 ~]# grep '^$' /etc/fstab
[root@myb362 ~]#
5. 일치 하 는 숫자
grep '[0-9]' /etc/passwd
[root@myb362 ~]# grep '[0-9]' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...........
6. r 와 일치 하 는 두 개의 임의의 문자 와 t 의 줄 을 이 어 갑 니 다.
grep 'r..t' /etc/passwd
[root@myb362 ~]# grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
7. r 뒤에 임의의 문자 와 일치 하 는 다음 t 줄
grep 'r.*t' /etc/passwd
[root@myb362 ~]# grep 'r.*t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
설명:. 임의의 문 자 를 표시 합 니 다. * 임의의 횟수 앞의 문 자 를 표시 하면. * 임의의 횟수 의 임의의 문 자 를 표시 합 니 다.
8. s 뒷 굽 h 또는 y 와 일치 하 는 줄
grep 's[h,y]' /etc/passwd
[root@myb362 ~]# grep 's[h,y]' /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
9. s 와 일치 한 후 알파벳 a 에서 w 사이 의 문자 가 아 닌 줄
grep 's[^a-w]' /etc/passwd
[root@myb362 ~]# grep 's[^a-w]' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
games:x:12:100:games:/usr/games:/sbin/nologin
10. sbin 또는 bin, 즉 s 가 0 번 또는 1 번 나타 나 는 것 과 일치 합 니 다.
grep 's\?bin' /etc/passwd = grep -E 's?bin' /etc/passwd = egrep 's?bin' /etc/passwd
[root@myb362 ~]# grep 's\?bin' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
.........
11. 빈 을 단어 로 하 는 줄 과 일치 합 니 다.
grep '\
[root@myb362 ~]# grep '\<bin' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
12. 빈 을 어미 로 하 는 줄 과 일치 합 니 다.
grep 'bin\>' /etc/passwd
[root@myb362 ~]# grep 'bin\>' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
13. 단어 빈 일치
grep '\
[root@myb362 ~]# grep '\<bin\>' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
14. r 와 일치 하면 1 개 또는 2 개의 o 줄 이 있 습 니 다.
grep 'ro\{1,2\}' /etc/passwd
[root@myb362 ~]# grep 'ro\{1,2\}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
15. 루트 와 일치 한 후 임의의 여러 문자 와 일치 한 후 루트 줄 과 일치 합 니 다.
grep 'root.*root' grep.txt
16. 일치 rt 중간 에 임의의 두 글자 가 있 습 니 다. 뒤쪽 은 이전 모드 와 같은 줄 입 니 다. 즉, 앞의 모드 가 root 이면 뒤에 있 는 것 도 반드시 root 이 어야 합 니 다. rbat 나 다른 모드 가 아 닙 니 다.
먼저 grep. txt 파일 을 만 듭 니 다. 내용 은 다음 과 같 습 니 다.
rootrabt
rootroot
ROOT
Root
grep '\(r..t\)\1' grep.txt
[root@myb362 ~]# grep '\(r..t\)\1' grep.txt
rootroot
grep 'r. tr. t' grep. txt 를 사용 하면 둘 다 일치 합 니 다.
grep 'r..tr..t' grep.txt
[root@myb362 ~]# grep 'r..tr..t' grep.txt
rootroot
rootrabt
우 리 는 여러 그룹 을 설정 하여 몇 번 째 그룹 을 참조 하 는 것 을 표시 할 수 있 습 니 다.
17. 일치 하 는 내용 을 하 이 라이트 로 표시 합 니 다.
grep --color=auto 'root' /etc/passwd
[root@myb362 ~]# grep --color=auto 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
18. 일치 하 는 내용 을 역방향 으로 선택 grep - v
ifconfig | grep 'inet' 는 IP 주소 와 일치 하 는 줄 을 표시 합 니 다.
[root@myb362 ~]# ifconfig | grep 'inet'
inet addr:192.168.144.129 Bcast:192.168.144.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef9:649a/64 Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
ifconfig | grep 'inet'|grep '127.0.0.1' 일치 하 는 줄 보이 기
[root@myb362 ~]# ifconfig | grep 'inet' |grep '127.0.0.1'
inet addr:127.0.0.1 Mask:255.0.0.0
ifconfig | grep 'inet' | grep - v '127.0.0.1' 은 일치 하 는 줄 을 표시 하지 않 습 니 다.
[root@myb362 ~]# ifconfig | grep 'inet' |grep -v '127.0.0.1'
inet addr:192.168.144.129 Bcast:192.168.144.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef9:649a/64 Scope:Link
inet6 addr: ::1/128 Scope:Host
19. 파일 의 대소 문자 grep - i 무시
grep -i 'root' grep.txt
[root@myb362 ~]# grep -i 'root' grep.txt
rootroot
rootrabt
ROOT
Root
20, 루트 또는 루트 와 일치 하 는 줄
grep -E '(root)|(ROOT)' grep.txt
[root@myb362 ~]# grep -E '(root)|(ROOT)' grep.txt
rootroot
rootrabt
ROOT
이상 은 grep 와 egrep 의 기본 용법 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.