🚀 from error to study/Server

[Linux] grep 시 윗줄, 아래줄 내용 같이 출력하기

천재강쥐 2024. 5. 21. 16:59

 

 

 

🔥 포스팅 계기

 

linux에서 grep을 사용하여 로그를 검색하다 보면 검색 특정 문자열과 함께 바로 윗줄, 아래줄을 같이 보고 싶을 때가 있다.
grep의 옵션 중 A, B 옵션으로 해결 가능하다.
A는 아래, B는 위의 내용을 검색한다.

 

 

 

 

📍 test.log파일 중 test라는 단어가 들어가는 row 포함 아래 5줄을 같이 출력

$ grep -A 5 "test" test.log

 

 

 

 

📍 test.log 파일 중 test라는 단어가 들어가는 row 포함 위 5줄을 같이 출력

$ grep -B 5 "test" test.log

 

 

 

 

📍 test.log 파일 중 test라는 단어가 들어가는 row 포함 위, 아래 5줄을 같이 출력

$grep -A 5 -B 5 "test" test.log

 

 

 

 

📍 /com/app/tomcat8.5/instances/service1/logs 하위의 catalina.out.2024-05-17.bak 파일에서 CLUSTERDOWN The cluster is down라는 문장을 포함하는 줄의 위, 아래 2줄씩 같이 나오게 해라!

$ less /com/app/tomcat8.5/instances/service1/logs/catalina.out.2024-05-17.bak
  |grep -A 2 -B 2 "CLUSTERDOWN The cluster is down"

 

 

👉🏻 결과 화면

👉🏻 그러면 요로코롬 내가 원하는 문장을 초함한 위아래 2줄이 함께 나오게 된다

👉🏻 하다가 알게 된 건데 새로운 로그가 아닌 하나의 로그가 아주 길어서 줄줄이 이어지는 경우라면 1줄로 인식하는 듯하다