grep 명령어
/bin/grep은 입력되는 정보에서 패턴을 포함한 줄을 걸러내는 유틸리티입니다. 시스템 관리를 위해 매우 다양하게 쓰이므로 find와 함께 잘 익혀 두어야 합니다.
형식 : grep [OPTION...] PATTERN [FILE]...
아래 표는 grep 명령에서 자주 쓰이는 옵션입니다.
--------------------------------------------------------------------------
짧은이름 긴이름 기능
--------------------------------------------------------------------------
-h --no-filename 파일 이름을 감춥니다.
-l --files-with-matches 파일 목록만 나열합니다.
-n --line-number 줄번호를 표시합니다.
-i --ignore-case 대소문자 구분 없이 필터링을 수행합니다.
-w --word-regexp 완전한 단어만 찾습니다.
-v --revert-match 패턴을 포함하지 않은 문자열만 걸러냅니다.
--------------------------------------------------------------------------
아래는 grep 명령의 간단한 형식입니다.
현재 디렉토리의 모든 파일에서 문자열 'bash'를 포함한 문서를 필터링합니다:
$ grep bash *
grep 유틸리티는 일반적으로 명령의 수행결과를 파이프(|)를 통해 입력받아 사용합니다. 예를 들어 ls 명령의 결과로 my 포함한 파일만 출력하고 싶다면 아래처럼 사용합니다.
[root@ns bin]# ls /usr/bin | grep my*
결과
--------------------------------------------------------------------------
mysql_install_db:if test -x ./bin/my_print_defaults
mysql_install_db: print_defaults="./bin/my_print_defaults"
mysql_install_db:elif test -x /usr/local/mysql/bin/my_print_defaults
mysql_install_db: print_defaults="/usr/local/mysql/bin/my_print_defaults"
mysql_install_db: print_defaults="my_print_defaults"
mysqld_multi: if (!defined(my_which(my_print_defaults)))
mysqld_multi: print "WARNING! my_print_defaults command not found!\n";
mysqld_multi: my @defops = `my_print_defaults mysqld_multi`;
mysqld_multi: if (!defined(my_which(my_print_defaults)))
mysqld_multi: print "ABORT: Can't find command 'my_print_defaults'!\n";
mysqld_multi: $com = "my_print_defaults";
mysqld_multi: $com = "my_print_defaults";
mysqld_multi: $com = "my_print_defaults";
mysqldumpslow: my $defaults = `my_print_defaults mysqld`;
mysqldumpslow: or die "Can't determine basedir from 'my_print_defaults mysqld' output: $defaults";
mysqldumpslow: my $instances = `my_print_defaults instances`;
mysqldumpslow: die "Can't determine datadir from 'my_print_defaults mysqld' output: $defaults"
mysqldumpslow: or die "Can't determine --$opt{i}-datadir from 'my_print_defaults instances' output: $instances";