grep - 특정 단어 빼고 출력
보통 vi 로 작업하시는 분들은 터미널로 검색을 많이 하십니다.
원하는 결과를 얻기 위해서는 여러가지 검색 옵션을 사용하게 되는데요
너무 평이한 검색어를 사용함으로써 원치 않는 결과는 좀 빼고 보면 좋겠다 싶을때가 있습니다.
이럴때 사용하는 옵션이 있는데 의의로 모르는 분들이 만습니다.
간단히 grep 의 옵션을 살펴봅니다.
root@boggle70-desktop:linux# grep --help
사용법: grep [옵션]... 패턴 [파일]...
각 파일 및 표준 입력에서 패턴 찾기
패턴은 기본값으로 기본 정규 표현식(BRE)입니다.
예제: grep -i 'hello world' menu.h main.c
정규식 선택과 해석
-E, --extended-regexp 확장된 정규 표현식으로 된 패턴 (ERE)
-F, --fixed-strings 개행 문자로 구분된 고정 길이 문자열로 된 패턴
-G, --basic-regexp 기본 정규 표현식으로 된 패턴 (BRE)
-P, --perl-regexp 펄 정규 표현식으로 된 패턴
-e, --regexp=PATTERN 패턴을 이용해서 찾기
-f, --file=FILE 파일에서 패턴을 가져옴
-i, --ignore-case 대소문자 구분 안 함
-w, --word-regexp 전체 단어에 대해서만 패턴 비교
-x, --line-regexp 전체 라인에 대해서만 패턴 비교
-z, --null-data 새 줄이 아닌 0 바이트인 줄 끝 데이터
Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version print version information and exit
--help display this help and exit
--mmap use memory-mapped input if possible
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the filename for each match
-h, --no-filename suppress the prefixing filename on output
--label=LABEL print LABEL as filename for standard input
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
TYPE is `binary', `text', or `without-match'
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is `read', `recurse', or `skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is `read' or `skip'
-R, -r, --recursive equivalent to --directories=recurse
--include=FILE_PATTERN search only files that match FILE_PATTERN
--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
Context control:
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
--color[=WHEN],
--colour[=WHEN] use markers to highlight the matching strings;
WHEN is `always', `never', or `auto'
-U, --binary do not strip CR characters at EOL (MSDOS)
-u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)
출처 - http://forum.falinux.com/zbxe/index.php?document_srl=550758&mid=lecture_tip