Linux grep 명령
grep 는 강력 한 기능 을 가 진 텍스트 검색 명령 입 니 다. 특정한 파일 에 지정 한 검색 내용 이 포함 되 어 있 는 지 검색 할 수 있 습 니 다. 정규 표현 식 을 이용 하여 복잡 한 선별 작업 을 할 수 있 습 니 다. 또한 다른 명령 을 파이프 에 전송 할 수 있 습 니 다. 예 를 들 어 우리 가 자주 사용 하 는 분석 단일 프로 세 스 의 작업 은 'ps - ef | grep command' 를 이용 하 는 것 입 니 다.
문법
grep [OPTION]... PATTERN [FILE]...
기본적으로 파 라 메 터 를 추가 하지 않 는 것 은 일치 하 는 줄 기록 을 표시 하 는 것 입 니 다. - help 를 사용 하여 지원 하 는 파 라 메 터 를 볼 수 있 기 때문에 본 고 는 비교적 자주 사용 하 는 명령 만 열거 합 니 다.
-a: -b<n>: n 。 -c : , -d: , -H: 。 -h: , 。 -i: -L: -l: -m<n>: n 。 -o: , 。 -q: -r: , -v: , -V:
정규 표현 식
grep 가 정규 에 맞 춰 선별 할 때 {} () 에 대해 서 는 전의 문 자 를 사용 해 야 합 니 다.
명령 하 다.
설명 하 다.
^
문자 가 열 린 곳 에서 일치 합 니 다.
$
문자 의 끝 에 일치 합 니 다.
.
모든 문자 일치 (리 턴 과 새 줄 포함)
[….]
괄호 안에 있 는 임의의 단일 문자 와 일치 합 니 다.
[m-n]
m 에서 n 사이 의 임의의 단일 문자 와 일치 합 니 다. 예 를 들 어 [0 - 9], [a - z], [A - Z]
[^..]
괄호 안의 임의의 단일 문자 와 일치 할 수 없습니다.
a*
빈 것 을 포함 하여 0 개 이상 의 a 와 일치 합 니 다.
a\{m\}
일치 하 는 m 개 a
a\{m,\}
m 개 이상 a 일치
a\{m,n\}
m 에서 n 개 a 일치
\(….\)
패턴 요 소 를 단일 요소 로 구성 합 니 다. 예 를 들 어 (do) * 는 0 개 이상 의 do 와 일치 한 다 는 뜻 입 니 다.
grep
테스트 데이터 생 성
grep --help >/tmp/grep.text
1. 다른 명령 에 대한 선별 작업
sbin
[root@localhost ~]# ps -ef |grep "sbin"root 1 0 0 11:04 ? 00:00:01 /sbin/initroot 543 1 0 11:04 ? 00:00:00 /sbin/udevd -droot 1559 1 0 11:04 ? 00:00:00 /usr/sbin/vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuseroot 1580 1 0 11:04 ? 00:00:18 /usr/sbin/vmtoolsdroot 1992 1 0 11:04 ? 00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5root 2078 1 0 11:04 ? 00:00:00 /usr/sbin/modem-managerroot 2122 1 0 11:04 ? 00:00:00 /usr/sbin/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -B -u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pidroot 2133 1 0 11:05 ? 00:00:00 /usr/sbin/acpidroot 2219 1 0 11:05 ? 00:00:00 /usr/sbin/bluetoothd --udevroot 2298 1 0 11:05 ? 00:00:00 /usr/sbin/sshdroot 3172 1 0 11:05 ? 00:00:00 /usr/sbin/abrtdroot 3199 1 0 11:05 ? 00:00:00 /usr/sbin/atdroot 3215 1 0 11:05 ? 00:00:00 /usr/sbin/gdm-binary -nodaemonroot 3220 1 0 11:05 tty2 00:00:00 /sbin/mingetty /dev/tty2root 3222 1 0 11:05 tty3 00:00:00 /sbin/mingetty /dev/tty3root 3224 1 0 11:05 tty4 00:00:00 /sbin/mingetty /dev/tty4root 3227 543 0 11:05 ? 00:00:00 /sbin/udevd -droot 3228 1 0 11:05 tty5 00:00:00 /sbin/mingetty /dev/tty5root 3230 1 0 11:05 tty6 00:00:00 /sbin/mingetty /dev/tty6root 3231 543 0 11:05 ? 00:00:00 /sbin/udevd -droot 3261 1 0 11:05 ? 00:00:00 /usr/sbin/console-kit-daemon --no-daemonroot 5923 2071 0 14:12 ? 00:00:00 /sbin/dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid -lf /var/lib/dhclient/dhclient-3a7ff4d9-5a09-46b1-bb20-0298a18e6b78-eth0.lease -cf /var/run/nm-dhclient-eth0.conf eth0root 6294 6044 0 15:50 pts/1 00:00:00 grep sbin
2. 줄 수 조회
“-d”
[root@localhost ~]# grep -c "\-d" /tmp/grep.txt
6
3.$
라인 으로 끝 나 는 줄 검색
[root@localhost ~]# grep "lines$" /tmp/grep.txt
-x, --line-regexp force PATTERN to match only whole lines
-v, --invert-match select non-matching lines
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
4.{m,}
2 S
[root@localhost ~]# grep "\(s\)\{2,\}" /tmp/grep.txt
PATTERN is, by default, a basic regular expression (BRE).
-E, --extended-regexp PATTERN is an extended regular expression (ERE)
-G, --basic-regexp PATTERN is a basic regular expression (BRE)
-P, --perl-regexp PATTERN is a Perl regular expression
-s, --no-messages suppress error messages
-h, --no-filename suppress the file name prefix on output
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
-r is given, - otherwise. If fewer than two FILEs are given, assume -h.
총결산
전의 문 자 를 사용 하 십시오. 정규 문자 가 아 닌 여러 문 자 를 찾 으 려 면 () 여러 문 자 를 묶 어야 합 니 다. grep 는 아직도 많은 사용 방법 이 있 습 니 다. 여 기 는 일일이 열거 하지 않 습 니 다.
비고: 저자: purser. chen 블 로그:http://www.cnblogs.com/chenmh 본 사이트 의 모든 수필 은 오리지널 입 니 다. 여러분 의 전재 를 환영 합 니 다.그러나 전재 할 때 는 반드시 글 의 출처 를 밝 히 고 글 의 시작 부분 에 링크 를 명확 하 게 해 야 한다.《 환영 교류 토론 》.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.