개요
리눅스를 개발환경으로 해서 프로그래밍을 하다보면 grep을 많이 사용하게 됩니다. 특히나 소스 코드를 직접 개발하기 보다는, 이미 개발되어 있는 소스 코드를 이용하는 경우에는 더욱 많이 사용합니다.
유용한 grep의 옵션들을 정리합니다.
[참고] 리눅스는 하나의 작업을 위한 매우 다양한 방법을 제공합니다. 당연히 본문의 예제들보다 효과적인 방법들이 있을 것입니다.
원하는 라인 전후 출력하기
프로그래밍에서는 grep으로 특정 keyword를 포함하는 파일들을 검색한후, 해당 파일들을 editor로 열어서 검토합니다. 그런데, 프로그래밍 이외에 매우 많은 양의 로그파일들에서 정형화된 포맷의 문제 부분들을 찾아서 검토하는 예의 경우, 일일이 파일들을 열어서 문제점을 검토하기는 번거롭습니다.
또 "git log"로 commit된 내용을 확인할 때, 특정 keyword로 내용을 확인한 후 해당 keyword 앞서에 위치하는 commit ID를 알아서 전체 내용을 검토하고자 할 때 유용합니다.
이때 grep의 -A 혹은 -B 옵션을 사용할 수 있습니다.
[기본]
grep -A 라인수1 -B 라인수2 키워드 파일명
[해석]
파일명의 이름을 갖는 파일에서 키워드를 찾아서, 키워드를 포함하는 라인 이후(-A 옵션) 라인수1 만큼의 라인, 키워드를 포함하는 라인 이전(-B 옵션) 라인수2 만큼의 라인을 출력한다.
[예제]
grep -A 10 -B 5 "Internal error" kernel_panic.txt
참조 sites
반응형
'프로그래밍 > Linux_commands' 카테고리의 다른 글
[Linux] sed (0) | 2021.07.10 |
---|---|
[Linux] uniq (0) | 2019.12.15 |
[Linux] find (0) | 2019.12.15 |