집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 grep 명령 사용법에 대한 포괄적인 설명
리눅스 시스템을 배울 때에는 grep 명령어를 마스터해야 합니다. grep 명령은 파일이나 표준 출력에서 일치하는 행을 찾는 데 사용됩니다. 그 힘은 정규식을 지원한다는 것입니다. 일상 업무에서 grep은 확실히 가장 많이 사용되는 명령 중 하나입니다.
참고: 이 기사에서는 grep 사용법만 소개하고 정규식은 소개하지 않습니다.
몇 가지 일반적인 옵션과 그 의미를 살펴보겠습니다.
options
-i 검색 시 대소문자 무시
-n 일치하는 모든 줄을 나열하고 줄 번호를 표시합니다.
- v 역선택
-c 일치하는 행 수만 출력
-l 일치하는 파일 이름만 나열하고 특정 일치 행은 나열하지 않음
-h 여러 파일을 쿼리할 경우 표시하지 않음 파일 이름
-r 재귀 검색
-q 결과 출력을 금지하고 종료 상태는 검색 성공 여부를 나타냅니다.
--color=auto 찾은 키워드를 색상으로 표시합니다
-E, - -extended-regexp PATTERN은 확장 가능한 정규식입니다(ERE로 축약됨)
-B, --before-context=NUM 텍스트로 시작하는 NUM줄 인쇄
-A , --after-context=NUM 인쇄 텍스트로 끝나는 NUM 줄
grep의 몇 가지 사용법을 소개하겠습니다:
php.ini에 시간대 구성이 있다는 것을 알고 있지만 세부 사항은 명확하지 않습니다. 우리는 시간대만 알고 있습니다. 이제 구성 정보를 찾고 싶습니다. grep을 사용하여 찾을 수 있습니다.
# 加上-i选项,忽略大小写 # grep -i timezone /usr/local/php/etc/php.ini ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = PRC
grep은 여러 파일 검색을 지원합니다.
# 这里我们加上-n选项,输出文件的行号 # grep -in stdio itoa.c quicksort.c itoa.c:2:#include <stdio.h> quicksort.c:1:#include <stdio.h>
역선택 -v를 사용하면 프로그램을 실행할 때 이 프로그램이 아직 진행 중인 프로세스가 있는지 확인하고 싶습니다. 다음 방법을 사용하세요
# ps aux | grep curl.php root 14374 98.3 1.2 277844 12396 pts/0 R+ 07:54 1:07 php curl.php root 14404 0.0 0.0 112664 984 pts/2 R+ 07:55 0:00 grep --color=auto curl.php
여기에 문제가 있습니다. grep 자체의 프로세스를 필터링하려면 -v를 사용해야 합니다.
# ps aux | grep curl.php | grep -v grep root 14374 98.5 1.2 277844 12396 pts/0 R+ 07:54 2:36 php curl.php
마지막 명령에서 루트가 포함된 줄 수를 계산해야 하므로 여기에 다음이 필요합니다. -c 옵션이 사용됩니다.
# last | grep -c root 353
파일의 특정 텍스트를 일괄적으로 교체해야 하는 경우가 종종 있는데, 이러한 텍스트가 어떤 파일에 있는지 어떻게 알 수 있나요? Grep은 -l 옵션을 사용하여 이를 수행할 수 있습니다
# find . -type f -exec grep -l define {} \; ./find.c ./itoa2.c ./wc.c ./test.c ./wordcnt.c ./longestline.c ./cal.c ./sortline2.c ./sortline.c ./found.c ./atof.c
이 예에서는 -E 확장 정규 표현식을 사용합니다. 우리는 php.ini 파일에서 주석 줄과 빈 줄을 필터링하려고 합니다
grep -vE '^;|^$' /usr/local/php/etc/php.ini
또한 일반적으로 사용되는 -r 옵션을 사용하면 현재 디렉터리의 모든 파일과 하위 디렉터리의 파일을 반복적으로 검색할 수 있습니다. 다음으로 웹사이트 디렉터리에 어떤 바닥글 파일이 있는지 확인하고 싶습니다. 다음 명령을 사용하여 찾을 수 있습니다.
grep -rn footer ./
위 내용은 Linux에서 grep 명령 사용법에 대한 포괄적인 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!