리눅스 명령어 - grep 완벽 정리
안녕하세요, 구글에서 가장 많이 검색하는 리눅스 명령어 중 하나로 꼽히는 grep에 대해 자세히 알아보고, 실용적인 예시와 결과를 함께 살펴보겠습니다.
grep이란?
grep은 파일이나 입력 스트림에서 특정 문자열이나 패턴을 찾아주는 강력한 리눅스 명령어입니다. 이름은 "global regular expression print"에서 유래되었으며, 정규 표현식을 활용해 텍스트를 필터링할 수 있어 개발자들에게 사랑받죠. 로그 파일에서 에러를 찾거나, 코드에서 특정 키워드를 추출할 때 정말 유용합니다.
기본 문법

예시 1: 파일에서 특정 단어 검색하기
가장 기본적인 사용법을 보겠습니다. 예를 들어, server.log라는 로그 파일에서 "error"라는 단어가 포함된 줄을 찾고 싶다고 해볼게요.
명령어

결과

설명: 이 명령어는 server.log 파일에서 "error"라는 단어가 포함된 모든 줄을 출력합니다. 간단하죠? 대소문자를 구분하니 주의하세요!
예시 2: 대소문자 무시하고 검색하기
대소문자 구분 없이 검색하고 싶다면 -i 옵션을 사용하면 됩니다.
명령어

결과

설명: -i 옵션 덕분에 "error", "ERROR", "Error" 등 다양한 형태가 모두 출력됩니다. 로그 파일에서 대소문자가 섞여 있을 때 유용하죠.
예시 3: 여러 파일에서 검색하기
여러 파일을 한 번에 검색하려면 와일드카드(*)를 사용하면 됩니다. 예를 들어, 모든 .log 파일에서 "error"를 찾고 싶다면?
명령어

결과

설명: 각 줄 앞에 파일 이름이 함께 출력되어 어떤 파일에서 문제가 발생했는지 바로 알 수 있습니다.
예시 4: 명령어 출력에서 필터링하기
grep은 파일뿐만 아니라 다른 명령어의 출력을 파이프(|)로 받아 필터링할 수도 있습니다. 예를 들어, 실행 중인 프로세스 중 "python"이 포함된 것만 보고 싶다면?
명령어

결과

설명: ps aux로 모든 프로세스를 보고, 그중 "python"이 포함된 줄만 출력합니다. (참고: 마지막 줄은 grep 자체가 출력에 포함된 경우입니다. 이를 피하려면 grep -v "grep"을 추가하면 됩니다.)
꿀팁: 자주 사용하는 옵션
- -n: 줄 번호를 함께 출력
- -r: 디렉토리 내 모든 파일을 재귀적으로 검색
- -v: 패턴이 없는 줄을 출력 (반대 검색)
- -c: 매칭된 줄의 개수만 출력
예: 줄 번호와 함께 검색


grep은 단순해 보이지만, 옵션과 정규 표현식을 활용하면 무궁무진한 가능성을 가진 명령어입니다. 개발자로서 로그 분석, 코드 디버깅, 데이터 처리에서 시간을 절약하고 싶다면 꼭 익혀두세요! 혹시 더 궁금한 점이 있거나 다른 명령어에 대해 알고 싶다면 댓글로 남겨주세요. 다음 포스팅에서 또 만나요!
#리눅스 #명령어 #grep #사용법 #완벽정리 #Linux #Find #Error #Search #찾기 #검색
'Post' 카테고리의 다른 글
[MySQL] 날짜 형식/포맷 변환 함수 (DATE_FORMAT 함수) (0) | 2025.04.01 |
---|---|
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리) (0) | 2025.03.31 |
17. ZigBee (0) | 2015.02.27 |
16. Bluetooth (0) | 2015.02.26 |
15. SimpleTimer (0) | 2015.02.26 |