| HOME / 정보공유 / AIX 명령어 모음

fgrep
fgrep fgrep 명령 목적 파일을 탐색하여 리터럴 문자열을 찾습니다. 구문
fgrep [ -h] [ -i] [ -s] [ -v] [ -w ] [ -x] [ -y ] [ [ -b] [ -n] | [ -c | -l | -q ] ] [ -pSeparator] {Pattern | -ePattern | -fStringFile} [File...]
설명
fgrep 명령은 File 매개변수에 지정된 입력 파일(디폴트로 표준 입력)에서 패턴에 대응하는 행이 있는지 탐색합니다. fgrep 명령은 특히 고정 문자열인 Pattern 매개변수를 탐색합니다. File 매개변수에 하나 이상의 파일을 지정할 경우, fgrep 명령은 대응되는 행이 들어 있는 파일을 표시합니다.
fgrep 명령은 표현식과 일치하는 패턴 대신 문자열을 탐색하기 때문에 grep 및 egrep 명령과 다릅니다. fgrep 명령은 빠르고 압축된 알고리즘을 사용합니다. $, *, [, |, (, ) 및 \ 문자는 fgrep 명령에 의해 글자 뜻대로 해석되며 egrep 명령과 같이 완전한 정규식은 인식하지 못합니다. 이러한 문자는 쉘에 대해 특별한 의미를 갖으므로 전체 문자열은 작은 따옴표('...')로 묶어야 합니다. 지정된 파일이 없으면, fgrep 명령은 표준 입력으로 간주합니다. 일반적으로 발견된 각 행은 표준 출력으로 복사됩니다. 입력 파일이 한 개 이상 있으면, 발견된 각 행 앞에 파일 이름이 인쇄됩니다.
주:
fgrep 명령은 -F 플래그가 있는 grep 명령과 같습니다. 단, 오류 및 사용법 메세지가 다르고 -s 플래그의 기능이 다릅니다.
2048 바이트로 행을 제한합니다.
단락( -p 플래그하에서)는 현재 5000자로 제한되어 있습니다.
예측 불가능한 결과가 나올 수 있으므로 특수 파일에 대해서는 grep 명령을 수행하지 마십시오.
입력 파일에는 널(NULL) 문자가 들어 있지 않아야 합니다.
입력 파일은 캐리지 리턴 문자로 끝나야 합니다.
일부 플래그가 동시에 지정될 수 있더라도, 일부 플래그는 다른 플래그를 대체합니다. 예를 들어, -l와 -n을 함께 지정하면, 파일 이름만이 표준 출력에 기록됩니다.
플래그
-b 발견된 블록 번호가 각 행보다 우선합니다. 이 플래그는 문맥별 디스크 블록 번호를 찾는 데 유용합니다. -b 플래그를 stdin이나 파이프와 함께 사용할 수 없습니다.
-c 대응 행의 계수만 표시합니다.
-e Pattern 패턴을 지정합니다. 이것은 단순 패턴처럼 작용하지만, 패턴이 -(빼기 부호)로 시작할 경우에 유용합니다.
-f StringFile 문자열이 들어 있는 파일을 지정합니다.
-h 여러 파일을 처리하는 경우에 파일 이름을 억제합니다.
-i 비교할 때 대소문자 구분을 무시합니다.
-l 대응하는 행이 있는 파일의 이름을(한 번씩) 나열합니다. 각 파일 이름은 캐리지 리턴 문자로 분리됩니다.
-n 파일에서의 상대 행 번호가 각 행 앞에 옵니다.
-pSeparator 대응 행이 들어 있는 전체 단락을 표시합니다. 단락을 단락 분리자로 분리하고, Sopatator 매개변수로 지정하는데, 단락은 탐색 패턴과 같은 양식의 패턴입니다. 단락 분리문자가 들어 있는 행은 분리문자로서만 사용되며 출력에는 결코 포함되지 않습니다. 디폴트 단락 분리자는 공백 행입니다.
-q 대응 행에 관계없이 표준 출력에 대한 모든 쓰기를 억제합니다. 입력행을 선택한 경우, 0 상태로 종료하십시오.
-s 오류 메세지만을 표시합니다. 이것은 상태 검사에 유용합니다.
-v 지정된 패턴에 대응하는 행을 제외한 모든 행을 표시합니다.
-w 단어 탐색을 수행합니다.
-x 추가 문자 없이 패턴과 정확하게 대응되는 행을 표시합니다.
-y 비교할 문자의 케이스를 무시합니다.
종료 상태
이 명령은 다음 종료 값을 리턴합니다.
0 일치를 발견했습니다.
1 일치를 발견하지 못했습니다.
>1 구문 오류가 발견되었거나 파일에 액세스할 수 없습니다(대응사항이 발견되었을 경우에도 해당).
예제
여러 파일에서 하나의 단순 문자열을 탐색하려면, 다음과 같이 입력하십시오.
fgrep"strcpy"*.c
이것은 현재의 디렉토리에서 이름이 .c 문자열로 끝나는 모든 파일에서 문자열 strcpy를 탐색합니다.
패턴에 대응하는 행의 수를 계산하려면, 다음과 같이 입력하십시오.
fgrep-c"{"pgm.cfgrep -c"}"pgm.c
이것은 pgm.c에서 왼쪽 및 오른쪽 소괄호가 들어 있는 행의 수를 표시합니다.
C 프로그램에서 한 행에 둘 이상의 { 또는 하나의 }를 사용하지 않고 중괄호가 서로 적절하게 쌍을 이루면, 표시되는 두 숫자가 동일합니다. 숫자가 같지 않으면, 다음과 같이 파일에 나타나는 순서로 중괄호가 들어 있는 행을 표시할 수 있습니다.
egrep "{|}" pgm.c
패턴이 들어 있는 파일의 이름을 표시하려면 다음과 같이 입력하십시오.
fgrep -l"strcpy"*.c
이것은 현재 디렉토리에서 .c로 끝나는 파일을 탐색하여 strcpy 문자열이 들어 있는 파일의 이름을 나열합니다.
파일
/usr/bin/fgrep fgrep 명령을 포함합니다.
/bin/fgrep fgrep 명령에 대한 심볼 링크.
관련 정보
ed 명령, egrep 명령, grep 명령, sed 명령.