Linux나 Unix에서 가장 많이 쓰는 명령어는 특정 Directory나 Log, Configuration File 등에서 특정 문자열을 찾을 수 있는 grep
명령이다.
grep
명령어는 제공된 파일이나 선행 명령어의 결과에서 입력한 패턴과 일치하는 라인이 있는지 검색하여 해당 라인을 출력한다.
grep
의 가장 기본적인 사용 방법은 다음과 같이 옵션, 패턴, 그리고 패턴을 검색할 파일로 이루어진다.
# grep [option] pattern [file path]
$ grep -i 'uuid' /etc/fstab
# option -i를 이용하여 "uuid"라는 패턴을 /etc/fstab 파일에서 검색하는 예이다.
Option -i
는 대소문자를 구분하지 않고 패턴을 검색하라는 의미이다.
# grep [option] [-e pattern | -f file] [file]
# []가 앞뒤에 있는 문자열 검색
$ grep -i -e "^\[[[:alnum:]]*\]" /etc/nova/nova.conf
# []가 앞뒤에 있는 문자열이나 name으로 시작하는 문자열 검색
$ grep -i -e "\[[[:alnum]]*\]" -e "^name" /etc/nova/nova.conf
# 패턴이 저장되어 있는 파일을 이용한 검색
$ echo "^\[[[:alnum]]*\]" > pattern.txt
$ grep -i -f pattern.txt /etc/nova/nova.conf
grep
은 위와 같이 단독으로 사용할 수 있을 뿐만 아니라 다른 명령어와 조합하여 사용할 수도 있다.
# 명령어 | grep [option] [pattern | -e pattern]
# /etc/nova/nova.conf에서 [Default로 시작하는 문자열을 찾아 해당 라인만 출력한다.
$ cat /etc/nova/nova.conf | grep -i '^\[Default'