grep 의 응용
* :0 개 이상 * 이전 문자
. : 임 의 문자 일치 표시
^ : 줄 이나 문자 뒤의 비
$: 줄 끝 일치
[]: 일치 문자 집합 표시
\ :전의 부 호 를 표시 하고 원 문자 의 의 미 를 차단 합 니 다.
\\<\>: 정확 한 일치 표시
\{n\}: 앞 글자 와 일치 하 는 n 번 을 표시 합 니 다.
\{n,\}: 앞 글자 와 일치 하 는 경우 n 회 이상 나타 납 니 다.
\{n, m\}: 앞의 문자 와 일치 하면 n - m 회 이상 나타 납 니 다.
정규 표현 식 의 확장:
? :0 개 또는 1 개 앞 에 있 는 일반 문자 와 일치 하 는 것 을 표시 합 니 다.
+: 1 개 이상 의 앞 에 있 는 일반 문자 와 일치 함 을 표시 합 니 다.
(): 문자 집합 표시
| "또는"가 선택 가능 한 문자 와 일치 함 을 표시 합 니 다.
grep 는 정규 표현 식 을 지원 하 는 다 용도 텍스트 검색 도구 입 니 다. grep 의 일반 형식 은:
grep [옵션] [모드] [파일]
grep 는 하나 이상 의 파일 에서 검색 소 만족 모드 의 텍스트 줄 입 니 다. 모드 뒤의 모든 문자열 은 파일 이름 으로 간주 되 고 파일 이름 이 여러 개 입 니 다. 검색 결과 가 화면 에 인쇄 되 어 원본 파일 의 내용 에 영향 을 주지 않 습 니 다!
grep 명령 모드 는 문자열 일 수도 있 고 변수 일 수도 있 으 며 정규 표현 식 일 수도 있 습 니 다.설명 이 필요 한 것 은 어떤 패턴 이 든 패턴 에 빈 칸 이 포함 되 어 있 으 면 더 블 따옴표 로 패턴 을 일 으 켜 야 한 다 는 것 이다. 더 블 따옴표 가 없 으 면
빈 칸 뒤의 단 어 는 파일 이름 으로 오인 되 기 쉽다.
[root@slave ~]# cp /etc/passwd /root/1 // passed
[root@slave ~]# grep root 1 // root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]# grep root /root/1 /etc/passwd // , ,
/root/1:root:x:0:0:root:/root:/bin/bash
/root/1:operator:x:11:0:operator:/root:/sbin/nologin
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
- c 옵션: 일치 하 는 문자열 의 수 를 표시 합 니 다. 기본적으로 grep 는 패턴 을 포함 하 는 모든 줄 을 인쇄 하고 - c 를 추가 한 후 입 니 다.모드 를 포함 하 는 줄 의 수 만 표시 합 니 다!
[root@slave ~]# grep root 1
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]# grep -c root 1
2
root@slave ~]#
- n 옵션: 일치 하 는 모든 줄 을 표시 하고 줄 번 호 를 표시 합 니 다!
[root@slave ~]# grep -n root 1
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]#
- v 옵션: 모드 가 포함 되 지 않 은 줄 보이 기:
[root@slave ~]# grep -v root 1
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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
[root@slave ~]#
- i: 옵션, grep 는 기본적으로 대소 문자 에 민감 합 니 다. - i 옵션 을 추가 하면 일부 대소 문자 입 니 다!
[root@slave ~]# echo " ROOT" >> 1 // ROOT
[root@slave ~]# grep root 1 // -i ,
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]# grep -i root 1 // -i ,
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ROOT // root
[root@slave ~]#
h 옵션: 다 중 파일 을 조회 할 때 비 현실 적 인 파일 이름 을 표시 합 니 다. 기본 grep 는 다 중 파일 을 조회 할 때 줄 과 일치 하기 전에 파일 이름 을 표시 합 니 다. - h 옵션 을 추가 하면 grep 명령 은 파일 이름 을 표시 하지 않 습 니 다.
[root@slave ~]# grep root /root/1 /etc/passwd // -h
/root/1:root:x:0:0:root:/root:/bin/bash
/root/1:operator:x:11:0:operator:/root:/sbin/nologin
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]# grep -h root /root/1 /etc/passwd // -h
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]#
-l 옵션 은 일치 하 는 파일 이름 만 표시 하고 일치 하 는 파일 줄 은 표시 하지 않 습 니 다.
[root@slave ~]# grep -l root /root/1 /etc/passwd /root/wang / ,
/root/1
/etc/passwd
[root@slave ~]#
- s 옵션 을 선택 하면 텍스트 가 존재 하지 않 거나 일치 하지 않 는 오류 정 보 를 표시 하지 않 습 니 다. 기본 적 인 상황 에서 grep 는 검색 대기 소 파일 이 존재 하지 않 거나 검색 소 가 패턴 에 맞 는 텍스트 줄 이 없 을 때 잘못된 정 보 를 보 냅 니 다!
[root@slave ~]# grep root /root/1 /root/wang1 // /root/wang1 ,
/root/1:root:x:0:0:root:/root:/bin/bash
/root/1:operator:x:11:0:operator:/root:/sbin/nologin
grep: /root/wang1:
[root@slave ~]# grep -s root /root/1 /root/wang1 // -s ,
/root/1:root:x:0:0:root:/root:/bin/bash
/root/1:operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]#
- r 옵션: grep 는 현재 디 렉 터 리 에 대해 서 만 파일 검색 을 하고 하위 디 렉 터 리 에 대해 서 는 파일 검색 을 하지 않 는 다 는 뜻 입 니 다. - r 옵션 은 재 귀적 검색 소 를 표시 합 니 다. 현재 디 렉 터 리 뿐만 아니 라 하위 디 렉 터 리 도 검색 합 니 다.
[root@slave ~]# tree wang //
wang
└── 11
└── passwd1
1 directory, 1 file
[root@slave ~]# grep root wang // -r
[root@slave ~]# grep -r root wang // -r
wang/11/passwd1:root:x:0:0:root:/root:/bin/bash
wang/11/passwd1:operator:x:11:0:operator:/root:/sbin/nologin
[root@slave ~]#
grep 명령 모드 는 정규 표현 식 을 지원 합 니 다. 정규 표현 식 의 메타 문 자 는 특별한 의미 로 해 석 됩 니 다. - w 옵션 은 전체 단어 와 일치 하 는 것 을 표시 합 니 다. 즉, 글자 의 의미 로 해석 합 니 다.더하기 - w 후, 원 문 자 는 더 이상 특별한 의미 로 해석 되 지 않 습 니 다!
[root@slave ~]# grep roo* 1 // -w , roo
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/roo*:/sbin/nologin
rtkit:x:498:497:RealtimeKit:/proc:/sbin/nologin
[root@slave ~]# grep -w roo* 1 // , roo*
operator:x:11:0:operator:/roo*:/sbin/nologin
-x , , !
[root@slave ~]# grep root 1
root:x:0:0:root:/root:/bin/bash
root
[root@slave ~]# grep -x root 1 // -r
root
[root@slave ~]#
- q 옵션: grep 는 기본적으로 출력 결과 이지 만 grep 명령 에 - q 옵션 을 추가 하면 grep 는 결 과 를 출력 하지 않 고 종료 상태 로 검색 성공 을 표시 합 니 다.
종료 상태 0 은 검색 에 성 공 했 음 을 표시 합 니 다. 1 은 만족 모드 의 텍스트 줄 을 검색 하지 못 했 음 을 표시 합 니 다. 2 는 명령 이나 프로그램 이 오류 로 두 사람 이 실 행 했 음 을 표시 합 니 다!
[root@slave ~]# grep -q root 1
[root@slave ~]# echo $? //
0
[root@slave ~]# grep -q ROOT 1
[root@slave ~]# echo $?
1
[root@slave ~]# grep -q ROOT 213 //
grep: 213:
[root@slave ~]# echo $?
2
[root@slave ~]#
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.