Linux Command (grep, pdfgrep)
- 파일이나 표준입력(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 를 찾는다.
// 문서를 일일히 열어보지 않고 자료를 찾는데 매우 유용하다