Linux grep 명령

6178 단어
소개 하 다.
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 본 사이트 의 모든 수필 은 오리지널 입 니 다. 여러분 의 전재 를 환영 합 니 다.그러나 전재 할 때 는 반드시 글 의 출처 를 밝 히 고 글 의 시작 부분 에 링크 를 명확 하 게 해 야 한다.《 환영 교류 토론 》.

좋은 웹페이지 즐겨찾기