[Linux] grep 활용하기 및 응용하기

     

     

    Linux, grep 활용 및 응용하기

     

     

     

     

      grep 활용하기

    grep -n '\/admin\/member' ./nohup.out

     nohup.out의 파일 중에서 "/admin/member"에 대한 검색값을 모두 찾는다.

    해당 명령어는 cat을 생략했다.

     

     

     

    검색 값 중 마지막 값만 불러오기

    grep -n '\/admin\/member' ./nohup.out | tail -10

    위의 명령어에서 tail -10이 추가되었다.

    "/admin/member"에 검색 값 중에서 마지막 10줄만 표시하는 명령어이다.

     

     

    검색된 결괏값의 이후 결괏값 확인하기

    grep -n -A 10 '\/admin\/member' ./nohup.out

    "/admin/member"에 대한 검색값이 출력되었다.

    그러나 알고 싶은 것은 이 이후에 대한 Log일 때가 있다.

     

    그때 -A 를 사용해서 결괏값을 출력한다.

    숫자를 입력한 만큼 검색된 결괏값에서 +입력값이 추가로 출력된다.

     

    이를 활용할 때는, tail 명령어 활용하면 매우 좋다. 안 그러면 로그창이 너무 길 수도 있다.

     

     

    검색된 결괏값에 특정 조건 그리고 검색 개수 제한 두기

    grep -n -A 10 '\/admin\/member' ./nohup.out | tail -11

    이 부분이 헷갈릴 수가 있다.

    grep -n -A 10 "/admin/member" ./nohup.out에 대한 결괏값이 10개가 검색될 수 있다.

    그리고 -A 덕분에 10x10이 추가되어서 총 110행이 검색이 된다.

     

    이 중, 내가 -A에 대한 마지막 하나에 대한 검색값을 찾기 위해서는 마지막 검색 된 행에서 -11까지가 한 개다.

     

     

    11개씩, 9번째 차례가 99번째 행부터 이므로, 110개의 결괏값에서 -11인 99행부터 결과값 출력해야 한다.

     

     

      검색된 개수 세기

    grep -n '\/admin\/member' ./nohup.out | wc -l

     "/admin/member"에 대한 결괏값이 출력된다. 단, 여기서는 검색된 로그를 출력하지 않고 검색된 행의 개수를 출력된다.

    만약 해당 mapping을 얼마나 사용했는가를 알아볼 때, 유용한 명령어가 될 수 있다.

     

     

      검색 결과 제한 걸기

    more

    cat catalina.out | grep 'error' | more

     catalina.out 내용 중에서 'error'가 들어간 문구를 검색한다.

    단, 한 페이지가 꽉 찬 다면, 검색을 멈춘다.

     

    [space]: 다음 한 줄 만큼 보여주기

    [Enter]: 다음 한 페이지만큼 보여주기

     

     

    ness

    cat catalina.out | grep 'error' | ness

    catalina.out 내용 중에서 'error'가 들어간 문구를 검색한다.

    단, 한 페이지가 꽉 찬 다면, 검색을 멈춘다.

     

     

    [F]: 다음 페이지

    [B]: 이전 페이지

     

     

    more와 차이 점은 실수로 넘겼을 경우에도 '뒤로 가기' 기능이 존재한다.

     

     

     

      grep 멋지게 활용하기

    cat /etc/httpd/conf/httpd.conf | grep -v '^[[:space:]]*#' | grep -v ^[[:space:]]*$

     리눅스의 주석은 '#'이다.

    이 중 꼭 space키 혹은 tab키를 넣어서 어중간하게 #을 넣는 경우도 있다.

     

    그리고 공백 제외를 포함한 주석 제외 후 모두 봐야 할 때 필요한 명령어이다.

     

    흔히, Linux에서 bash를 볼 때 활용 된다.

     

     

    cat /usr/local/tomcat/api/conf/server.xml 
    | sed 's/<!--/\x0<!--/g;s/-->/-->\x0/g' | grep -zv '^<!--' | tr -d '\0' | grep -v ^[[:space:]]*$

     이 명령어를 찾게 된 이유는 Tomcat의 server.xml에서 주석을 제외한 사용되는 모든 것을 확인하고 싶어서였다.

    <!--와 -->의 주석처리를 모두 찾아서 보여준다.

     

    xml 방식 중에서 주석을 제외한 코드 찾을 때 매우 유용한다.

     

    반응형

    'Computer > 기타' 카테고리의 다른 글

    VR 서버 설치하기  (0) 2023.06.24
    [InteliJ] 한글 깨짐 해결하기  (0) 2023.01.25
    [기타] SHP파일을 불러오는 방법  (1) 2023.01.11
    [Eclipse] 글꼴 변경하기  (0) 2023.01.08
    [PostMan] PostMan 기본 설정  (0) 2022.12.04

    댓글

    Designed by JB FACTORY