fgrep 명령

용도

파일에서 리터럴 문자열을 검색합니다.

구문

fgrep [ -h] [ -i] [ -s] [ -u] [ -v] [ -w ] [ -x] [ -y ] [[ -b] [ -n] | [ -c | -l | -q ]] [ -p Separator] {Pattern | -e Pattern | -f StringFile} [File ...]

설명

fgrep 명령은 File 매개변수(디폴트로 표준 입력)에 의해 지정되는 입력 파일에서 패턴에 대응하는 행을 검색합니다. fgrep 명령은 특히 고정 문자열인 Pattern 매개변수를 검색합니다. fgrep 명령은 File 매개변수에 둘 이상의 파일을 지정하는 경우 일치하는 행을 포함하는 파일을 표시합니다.

fgrep 명령은 표현식에 대응하는 패턴을 검색하지 않고 문자열을 검색하기 때문에 grepegrep 명령과는 다릅니다. fgrep 명령은 빠르고 압축된 알고리즘을 사용합니다. $, *, [, |, (, ) 및 \ 문자는 fgrep 명령에서 문자 그대로 해석됩니다. 이러한 문자는 grepegrep 명령에서 해석되는 것처럼 정규식의 일부로 해석되지 않습니다. 이러한 문자는 쉘에 특별한 의미를 갖기 때문에 전체 문자열을 작은따옴표 ('...') 로 묶어야 합니다. 파일이 지정되지 않으면 fgrep 명령은 표준 입력을 가정합니다. 일반적으로 발견된 각 행은 표준 출력으로 복사됩니다. 두 개 이상의 입력 파일이 있는 경우 파일 이름은 발견된 각 행 앞에 인쇄됩니다.

주:
  1. fgrep 명령은 오류 및 사용법 메시지가 다르고 -s 플래그가 다르게 기능한다는 점을 제외하고 -F 플래그가 있는 grep 명령과 동일합니다.
  2. 행은 2048바이트로 제한됩니다.
  3. 단락 ( -p 플래그 아래) 은 현재 5000자로 제한됩니다.
  4. 예측 불가능한 결과를 생성하기 때문에 특수 파일에서 grep 명령을 실행하지 마십시오.
  5. 입력 행에는 널(NULL) 문자가 포함되어서는 안됩니다.
  6. 입력 파일은 줄 바꾸기 문자로 끝나야 합니다.
  7. 일부 플래그는 동시에 지정될 수 있지만, 일부 플래그는 다른 플래그를 재정의합니다. 예를 들어, -l-n을 함께 지정하면 파일 이름만 표준 출력에 기록됩니다.

플래그

플래그 지정 설명
-b 각 행 앞에 행이 발견된 블록 번호가 선행합니다. 이 플래그를 사용하면 문맥으로 디스크 블록 번호를 찾는 데 유용합니다. -b 플래그는 stdin이나 파이프로부터의 입력에 사용할 수 없습니다.
-c 일치하는 행의 수만 표시합니다.
-e 패턴 패턴을 지정합니다. 단순 패턴처럼 작동하지만 패턴이 -(빼기 부호)로 시작하는 경우에 유용합니다.
-f StringFile 문자열을 포함하는 파일을 지정합니다.
참고: 검색 패턴이 포함된 파일을 입력으로 사용하는 fgrep (또는 grep -F) 명령의 성능을 향상시키려면 fgrep 명령을 실행하기 전에 ENABLE_FGREP_AC 환경 변수를 내보내세요. 예를 들어, 다음 명령을 실행하여 이 환경 변수를 반출할 수 있습니다.
export ENABLE_FGREP_AC=""
-h 복수의 파일이 처리되는 경우 파일 이름을 억제합니다.
-i 비교 시 대소문자 구분을 무시합니다.
-l 일치하는 행을 갖는 파일의 이름만(한 번) 나열합니다. 각 파일 이름은 줄 바꾸기 문자로 분리됩니다.
-n 파일의 상대 행 번호가 각 행 앞에 옵니다.
-p 분리 문자 대응 행이 있는 전체 단락을 표시합니다. 단락은 Separator 매개변수에서 지정된 대로 단락 구분자에 의해 구분되며 이는 검색 패턴과 같은 양식의 패턴입니다. 단락 구분자를 포함하는 행은 구분자로만 사용되며 출력에는 결코 포함되지 않습니다. 디폴트 단락 구분자는 공백 행입니다.
-q 대응하는 행에 관계없이 표준 출력에 대한 모든 쓰기를 억제합니다. 입력 행이 선택되는 경우 0 상태로 종료됩니다.
-s 오류 메시지만 표시합니다. 상태 검사에 유용합니다.
-u 출력이 버퍼링 해제되도록 합니다.
-v 지정된 패턴에 대응하는 행을 제외한 모든 행을 표시합니다.
-w 단어를 검색합니다.
-x 추가 문자 없이 정확히 패턴과 일치하는 행을 표시합니다.
-y 비교 시 대소문자 구분을 무시합니다.

종료 상태

이 명령은 다음과 같은 종료값을 리턴합니다.

항목 설명
0 일치를 발견했습니다.
1 일치를 찾을 수 없습니다.
> 1 구문 오류가 발견되었거나 파일에 액세스할 수 없습니다(일치가 발견되었을 경우에도 해당).

  1. 여러 파일에서 단순 문자열을 검색하려면 다음을 실행하십시오.
    fgrep strcpy *.c

    문자열을 검색합니다.strcpy현재 디렉토리에 있는 모든 파일에서 다음으로 끝나는 이름을 사용하십시오..c문자열.

  2. 패턴에 대응하는 행의 수를 계수하려면 다음을 실행하십시오.
    fgrep -c “{” pgm.c
    fgrep -c “}” pgm.c

    다음에 있는 행 수를 표시합니다.pgm.c왼쪽 및 오른쪽 중괄호가 포함되어 있습니다.

    C 프로그램에서 한 행에 두 개 이상의 {(왼쪽 중괄호) 또는 하나의 }(오른쪽 중괄호)를 넣지 않고 중괄호가 적절하게 쌍을 이루면 적절한 조건이 충족되는 경우에 표시되는 두 개의 숫자는 일반적으로 동일합니다. 숫자가 같지 않으면 다음과 같이 파일에서 발생하는 순서로 중괄호를 포함하는 행을 표시할 수 있습니다.

    egrep {\|} pgm.c 
  3. 패턴을 포함하는 파일의 이름을 표시하려면 다음을 실행하십시오.
    fgrep -l strcpy *.c

    현재 디렉토리에서 다음으로 끝나는 파일을 검색합니다..c파일을 포함하는 파일의 이름을 표시합니다.strcpy문자열.

파일

파일 설명
/usr/bin/fgrep fgrep 명령을 포함합니다.
/bin/fgrep fgrep 명령에 대한 기호 링크입니다.