bash script2023. 4. 11. 13:32

 

반달가면 이글루에서 백업 - 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

하나의 항목에 대한 정보가 여러개의 행으로 이루어져 있을 경우에 아주 요긴하게 사용할 수 있다. 

 

 

728x90
Posted by 반달가면