더북(TheBook)

파일 이름에 정규 표현식 적용하기

이번에는 파일 내용(텍스트)을 검색하는 명령 grep입니다. grep [옵션] [표현식] [파일명] 형식으로 입력합니다. 아무 옵션 없이 명령을 실행하면 문자열 ‘pit’를 포함하는 행을 보여줍니다. 터미널에서는 검색어가 붉게 표시되어 보일 것입니다.

shinjaehun@losttemple:~$ grep pit teamdata
pitchers

-c 옵션은 해당 문자열이 포함된 행의 수를 출력합니다. ‘pit’ 문자열이 포함된 행은 하나라는 의미입니다.

shinjaehun@losttemple:~$ grep -c pin teamdata
1

-n 옵션은 해당 문자열이 포함된 행과 해당 행의 번호를 함께 보여줍니다. 터미널에서는 검색어가 붉게 표시되어 보일 것입니다.

shinjaehun@losttemple:~$ grep -n pit teamdata
1:pitchers

-i 옵션은 대소문자 구분 없이 문자를 검색합니다. 역시 터미널에서는 검색어 ‘pit’가 붉게 표시되어 보일 것입니다.

shinjaehun@losttemple:~$ grep -i PIT teamdata
pitchers

일반적으로 grep는 혼자 쓰이기보다 파이프를 통해 다른 명령어와 조합해서 결과를 얻는 데 유용하게 사용됩니다. 예를 들어 파일 목록을 출력하는 명령 ls -l의 결과 중에서 ‘base’라는 문자열을 검색하라는 명령을 조합하면 ‘baseballteam’이라는 파일 정보만 추려내어 출력할 것입니다.

shinjaehun@losttemple:~$ ls -l | grep base
drwxrwxr-x 3 shinjaehun shinjaehun 4096 9월 22 17:27 baseballteam
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.