English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux grep 명령어

Linux 명령어大全

Linux grep 명령어는 파일 내에 일치하는 문자열을 찾습니다.

grep 명령어는 지정된 템플릿 스타일을 포함한 내용을 가진 파일을 찾습니다. 파일 이름을 지정하지 않거나 주어진 파일 이름이 -그렇다면 grep 명령어는 표준 입력 장치에서 데이터를 읽습니다.

문법

grep [-abcEFGhHilLnqrsvVwxy][-A<표시 행 수>][-B<표시 열 수>][-C<표시 열 수>][-d<작업 수행>][-e<템플릿 스타일>][-f<템플릿 파일>][--help][템플릿 스타일][파일 또는 디렉토리...]

파라미터

  • -a 또는  --text 이진 데이터를 무시하지 마십시오.

  • -A<표시 행 수> 또는   --after-context=<표시 행 수> 템플릿 스타일에 맞는 열을 표시하는 것 외에도, 해당 행의 후 내용을 표시합니다.

  • -b 또는 --byte-offset 스타일에 맞는 행을 표시하기 전에, 해당 행의 첫 번째 문자의 번호를 표시합니다.

  • -B<표시 행 수> 또는  --before-context=<표시 행 수> 스타일에 맞는 행을 표시하는 것 외에도, 해당 행의 전 내용을 표시합니다.

  • -c 또는  --계산 스타일에 맞는 행의 열 수를 계산합니다.

  • -C<표시 행 수> 또는  --context=<표시 행 수> 또는-<표시 행 수> 스타일에 맞는 행을 표시하는 것 외에도, 해당 행의 전후 내용을 표시합니다.

  • -d <작업> 또는    --directories=<작업> 검색할 것이 디렉토리인 경우 이 옵션을 사용해야 합니다. 그렇지 않으면 grep 명령어는 메시지를 반환하고 작업을 중단합니다.

  • -e<템플릿 스타일> 또는 --regexp=<템플릿 스타일> 문자열을 파일 내용의 스타일로 사용하려면 이 옵션을 사용해야 합니다. 그렇지 않으면 grep 명령어는 메시지를 반환하고 작업을 중단합니다.

  • -E 또는  --확장-regexp 스타일을 확장된 정규 표현식으로 사용하십시오.

  • -f<규칙 파일> 또는 --file=<규칙 파일> 규칙 파일을 지정하며, 그 내용에는 하나 이상의 규칙 스타일이 포함되어 grep이 규칙 조건을 만족하는 파일 내용을 찾습니다. 각 행에 하나의 규칙 스타일이 포함됩니다.

  • -F 또는 --고정-regexp 스타일을 고정된 문자열 목록으로 사용하십시오.

  • -G 또는 --기본-regexp 스타일을 일반 표현법으로 사용하십시오.

  • -또는 --no-filename 콘텐츠 스타일에 맞는 행을 표시하기 전에, 해당 행이 속한 파일 이름을 표시하지 않습니다.

  • -H 또는 --with-filename : 일치하는 스타일의 행을 표시하기 전에, 그 행이 속한 파일 이름을 표시합니다.

  • -i 또는  --ignore-case : 문자열의 대소문자를 무시합니다.

  • -l 또는 --file-with-matches : 지정된 스타일을 포함하는 파일 이름을 나열합니다.

  • -L 또는  --files-without-match : 지정된 스타일을 포함하지 않는 파일 이름을 나열합니다.

  • -n 또는 --line-number : 일치하는 스타일의 행을 표시하기 전에, 그 행의 열 번호를 표시합니다.

  • -o 또는 --only-matching : PATTERN 부분만 표시합니다.

  • -q 또는 --quiet 또는--silent : 어떤 정보도 표시하지 않습니다.

  • -r 또는 --recursive : 이 매개변수의 효과는 지정된"-"recurse" 매개변수와 동일합니다.

  • -s 또는 --no-messages : 오류 메시지를 표시하지 않습니다.

  • -v 또는 --invert-match : 일치하는 텍스트를 포함하지 않는 모든 행을 표시합니다.

  • -V 또는 --version : 버전 정보를 표시합니다.

  • -w 또는  --word-regexp : 모든 단어가 일치하는 열을 표시합니다.

  • -x    --line-regexp : 모든 열이 일치하는 열을 표시합니다.

  • -y : 이 매개변수의 효과는 지정된"-i" 매개변수와 동일합니다.

Linux 명령어大全

온라인 예제

1、현재 디렉토리에서 파일 이름의 끝이 file인 파일 중 test 문자열을 포함하는 파일을 찾아, 그 문자열의 행을 출력합니다. 이 경우 다음과 같은 명령어를 사용할 수 있습니다:

grep test *file

결과는 다음과 같습니다:

$ grep test test* # 'test' 접두사가 있는 파일을 포함하는 'test' 문자열을 찾습니다  
testfile1:이것은 Linux testfile입니다! # testfile을 나열합니다1 test 문자를 포함하는 파일의 행  
testfile_2:이것은 linux testfile입니다! # testfile_를 나열합니다2 test 문자를 포함하는 파일의 행  
testfile_2:Linux test # testfile_를 나열합니다2 test 문자를 포함하는 파일의 행

2、재귀적으로 조건을 만족하는 파일을 찾습니다. 예를 들어, 지정된 디렉토리/etc/acpi 및 그 서브디렉토리(서브디렉토리가 있으면)에 있는 모든 파일에서 'update' 문자열을 포함하는 파일을 찾아, 그 문자열이 있는 행을 출력합니다. 사용하는 명령어는 다음과 같습니다:

grep -r update /etc/acpi

출력 결과는 다음과 같습니다:

$ grep -r update /etc/acpi # 'etc'를 재귀적으로 찾습니다/acpi  
# 'update'를 포함하는 파일이 포함되어 있습니다  
/etc/acpi/ac.d/85-anacron.sh:# (가장 많은 IO를 유발하는 것과 같은 slocate updatedb)  
대신  
/etc/acpi/resume.d/85-anacron.sh:# (slocate updatedb와 같은 것들이 많은  
IO.) 대신  
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update

3반대로 찾기. 이전 예제는 조건에 맞는 행을 찾고 출력하는 것입니다.-v"파라미터는 조건에 맞지 않는 행의 내용을 출력할 수 있습니다.

test를 포함하는 파일 이름의 파일에서 test를 포함하지 않는 행을 찾을 때, 사용하는 명령어는 다음과 같습니다:

grep -v test *test*

결과는 다음과 같습니다:

$ grep-v test* #test를 포함하는 파일 이름의 파일에서 test를 포함하지 않는 행을 찾기  
testfile1:helLinux!  
testfile1:Lin은 무료 Unix입니다-운영 체제 선택.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:Linux는 무료 Unix입니다-운영 체제 선택.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux는 무료 Unix입니다-운영 체제 선택.