Ubuntu/linux Command

Linux Command (grep, pdfgrep)

HobbyCoding 2021. 8. 7. 10:18
728x90
  • 파일이나 표준입력(stdin) 으로부터 패턴을 찾아주는 역할
  • 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어
  • tail이나 ls 등 다양한 명령어와 조합하여 응용되는 경우가 많다

 

 

 

용례 1 :  grep abcd test.txt

   test.txt 파일에서 abcd 라는 문자열이 있는 라인을 출력.

 

 

용례 2 :  grep abcd *

   현재 경로의 모든 파일에서 abcd 라는 문자열이 있는 라인을 출력.

 

 

용례 3 :  grep abcd * -r

    -r : recursive

   현재 경로와 하위에 있는 모든 파일에서 abcd 라는 문자열이 있는 라인을 출력.

   note ) grep '<?=' * -r  가 작동하였다.  grep <?= * -r  은 '-bash: ?=: No such file or directory' 이 발생함

 

 

용례 4 :  grep abcd test.txt -A 3

   -A : after context 

    test.txt 파일에서 abcd 라는 문자열이 있는 라인을 찾아서 출력하는데 바로 다음 3라인을 함께 출력.

 

 

용례 5 : grep abcd  test.txt -n

   -n : line number

   test.txt 파일에서 abcd 라는 문자열이 있는 라인을 찾아서 라인번호와 함께 출력

 

 

용례 6 : ps aux | grep nginx

   ps 의 결과에서 nginx가 있는 라인을 출력.

 

 

용례 7: ps aux | grep nginx | grep -v 'bar'

  ps 의 결과에서 nginx 가 있는 라인을 출력하는데 결과에서 bar 는 빼고 출력.

 

 

용례 8: ls -a | grep greeting

    파일 목록중 greeting 이 있는 것만 표시함

 

 

용례 9: grep -r '9000' ./vdebug

    .vdebug directory 아래에서  9000 string을 포함한 file 을 모두 찾아 출력

 

pdfgrep

pdfgrep를 사용하여 직접 PDF 파일에서 검색하는 방법으로 pdfgrep 이라는 tool 을 사용한다.

sudo apt-get install pdfgrep

 

pdfgrep Interceptors * -r    // 현재 directory 와 하위 directory 에서 모든 pdf file 을 뒤지면서 nterceptors 를 찾는다. 

// 문서를 일일히 열어보지 않고 자료를 찾는데 매우 유용하다