grep 명령 소개
grep은 원래 Unix 운영 체제에서 사용되는 명령줄 도구입니다. 파일 목록이나 표준 입력이 주어지면 grep은 하나 이상의 정규식과 일치하는 텍스트를 검색하고 일치하는(또는 일치하지 않는) 줄이나 텍스트만 출력합니다.
grep은 제공된 일치 패턴 목록을 기반으로 파일에서 일치하는 줄을 쿼리할 수 있습니다. 일치하는 줄을 찾은 후 줄 내용은 표준 출력(기본값)으로 출력됩니다.
grep은 사용 가능한 메모리 크기에 의해 제한되지 않는 한 입력 줄의 길이에 제한이 없으며 줄 내의 모든 문자와 일치할 수 있습니다.
사용법
grep -[acinv] '콘텐츠 문자열 검색' 파일명
실제 사용 예
1. 로그를 검색하여 503 오류가 몇 개 있는지 확인합니다
grep -c '503' /var/log/httpd/error_log-20141116
2. error라는 단어가 포함된 줄을 검색하고 줄 번호를 출력합니다
grep -n 'error' /var/log/httpd/error_log-20141116
3. error 줄을 입력하고 줄 번호를 출력합니다
grep -nv 'error' /var/log/httpd/error_log-20141116
4. 설치된 소프트웨어 버전 수를 검색하여
#centos下查看安装的Python版本 rpm -qa | grep -i python #Ubuntu下查看安装的Python版本 sudo dpkg -l | grep -i python
5. 주석 기호 #
#匹配 # 符号的行,但是输出的是 # 符号以外的行 grep -v '#' /etc/httpd/conf/httpd.conf6. 각 네트워크 카드 및 IP 주소 조회
ifconfig | grep -n inet7. 사례 검색(-i) 무시
grep -i "ErroR" log.txt8. 모든 하위 디렉터리( -r)
grep -r "exception" log.txt
9、精准全匹配搜索(-w)
grep -w "boo" /path/to/file10. 정확한 전체 단어 일치로 두 개의 다른 단어를 검색합니다.
grep -w 'word1|word2' /path/to/file11. 발생 횟수를 계산합니다. 문자열(-c)
grep -c 'word' /path/to/file #-n的话, 会在结果中,列出匹配字符串的序列号,并且会列出内容 grep -n 'word' /path/to/file12. 파일 이름만 나열(-l)
grep -l 'main' *.pls13. 검색 결과 강조 표시(–color)
grep --color apache /etc/passwdgrep 정규식 메타문자 집합 배열