반달가면 이글루에서 백업 - http://bahndal.egloos.com/544188
grep 명령으로 특정한 문자열을 찾았을 때, 그 문자열이 있는 행의 위 또는 아래로 어떤 내용이 있는지 파악하는 방법이다. -A 옵션과 -B 옵션을 활용하면 된다.
-A 옵션은 일치하는 문자열이 포함된 행 이후(after) 몇개의 행을 출력할 것인지 지정한다. 아래의 예시를 보자.
# phonebook.txt 파일에서 문자열 "john"이 포함된 행과 이후 3개 행을 출력
grep -A 3 "john" phonebook.txt
name: john
phone: 02-123-1234
mobile: 010-123-1234
email: john@my_server.net
-B 옵션은 -A 옵션과 반대다. 문자열이 포함된 행 이전(before) 몇개의 행을 출력할 것인지 지정한다.
# phonebook.txt 파일에서 문자열 "john"이 포함된 행과 이전 2개 행을 출력
grep -B 2 "john" phonebook.txt
employee number: 342
title: manager
name: john
-A 옵션과 -B 옵션을 조합할 수도 있다.
# phonebook.txt 파일에서 문자열 "john"이 포함된 행과 이후 2개 행, 이전 1개 행을 출력
grep -A 2 -B 1 "john" phonebook.txt
title:manager
name: john
phone: 02-123-1234
mobile: 010-123-1234
하나의 항목에 대한 정보가 여러개의 행으로 이루어져 있을 경우에 아주 요긴하게 사용할 수 있다.
'bash script' 카테고리의 다른 글
[bash: ",'] 따옴표 선택/사용하기 (0) | 2023.04.11 |
---|---|
[bash: function] 함수를 이용한 동시 작업 - 2 (0) | 2023.04.11 |
[bash: date] 두 날짜 사이의 시간차 구하기 (0) | 2023.04.11 |
[bash: for, sed, echo] txt 파일에서 여러줄로 된 항목을 한줄로 바꾸기 (0) | 2023.04.11 |
[bash: find, awk] 특정 디렉토리에 있는 특정 파일들의 용량 합계 구하기 (0) | 2023.04.11 |