CLI의 grep 명령

Sign up to my newsletter for more tutorials!.


grep 전역 정규식 인쇄를 사용하면 지정된 패턴의 컨텍스트에 있는 텍스트 스택에서 선택 및/또는 표시할 수 있습니다. 입력한 템플릿은 지정된 경로 내에서 처리되며, 템플릿에 맞는 결과를 마킹하여 나열합니다. 단독으로 사용하거나 파이프|와 함께 사용하여 다양한 목적의 작업에서 기능을 개발 및/또는 평가할 수 있습니다.

그 자체로 가장 간단한 사용법은 다음과 같습니다.

grep '[search-text/pattern]' [path-to-directory-or-file]


예제로 넘어갈 수 있습니다. 작업을 위해 웹 서버의 access_log.txt 문서를 사용하겠습니다. 텍스트 스택에서 POST 작업만 추출하고 싶습니다. 따라서 이와 같은 명령을 사용할 수 있습니다.

grep 'POST' /home/nginx/access_log.txt


선택 작업 대신 제외 작업을 수행하려면 어떻게 해야 합니까? 예를 들어 5.12.88.10 IP 주소 외부에서 발생한 트랜잭션을 나열하고 싶습니다.

grep -v '5.12.88.10' /home/nginx/access_log.txt


예제를 조금 더 발전시켜 봅시다. 검색 작업을 필터링하고 keywords.txt 가 포함된 > 파일로 지정해 보겠습니다. 달리 명시되지 않는 한 작업은 대소문자를 구분하여 수행됩니다. 예제에서는 -i를 지정하여 명령어를 적용하여 대소문자 구분 없이 연산을 수행하도록 했습니다.

grep -i 'search' /home/nginx/access_log.txt > /home/nginx/keywords.txt


줄 표시, 파일 이름 및 콘텐츠 검색 작업에서 사용할 수 있는 매개 변수 및 사용 방법도 있습니다. 물론 grep –help 로 더 자세한 정보를 얻을 수 있습니다. 그러나 짧은 요약을 제공하려면; -n 매개변수를 사용하면 파일 내에서 검색 패턴과 일치하는 일치 항목의 줄 번호를 얻을 수 있습니다. cat 와 함께 사용하면 headtail 로 원하는 필드를 캐스팅할 수 있습니다.

cat -n /home/nginx/access_log.txt | grep "spam"  | head -5


예제에서 볼 수 있듯이 grep 명령을 먼저 적용할 필요가 없습니다. 파이프( grep ) 표시 다음에 |에서 많은 관련 작업을 계속할 수 있습니다.

ls -alh | grep '.sql'


위의 명령으로 .sql를 포함하는 행이 나열되고 표시됩니다. 디렉토리( ^d ) 및 파일( ^- )로 명령을 편집할 수 있습니다.

Sign up to my newsletter for more tutorials!.

좋은 웹페이지 즐겨찾기