오늘 방문 /누적 방문 /완성한 레슨 소개 ↗
SECONDTEAM
터미널
⌨️ 레슨

검색의 기술 — grep으로 한 줄 찾기

수백 줄 주문 기록에서 '김치전' 한 줄만 뽑아내요. AI가 코드를 찾는 방식도 이거예요.

① 오늘의 미션
장부에서 한 줄만 콕 집어내기
지난 레슨에선 cat·head·tail로 주문 장부를 들여다봤어요. 그런데 주문이 수백 줄이면? 전부 읽을 순 없죠. 오늘은 '김치전'이 들어간 줄만 쏙 뽑아내는 법을 배웁니다 — grep이에요.

문서에서 Ctrl+F(찾기) 해본 적 있죠? 찾는 단어만 형광펜처럼 빛나는 거. grep은 터미널의 Ctrl+F예요.

설명을 따라 진행하면, 여기서 직접 쳐보게 돼요 👇
~/my-shop
$ _
📚 「검색의 기술 — grep으로 한 줄 찾기」 레슨 내용 전체 텍스트로 훑어보기
장부에서 한 줄만 콕 집어내기
지난 레슨에선 cat·head·tail로 주문 장부를 들여다봤어요. 그런데 주문이 수백 줄이면? 전부 읽을 순 없죠. 오늘은 '김치전'이 들어간 줄만 쏙 뽑아내는 법을 배웁니다 — grep이에요.

문서에서 Ctrl+F(찾기) 해본 적 있죠? 찾는 단어만 형광펜처럼 빛나는 거. grep은 터미널의 Ctrl+F예요.

주문 장부에서 '김치전'이 들어간 줄만 보고 싶어요. grep은 어떻게 동작할까요?
맞아요. grep 단어 파일그 단어가 들어간 줄만 추려서 보여줘요. 나머지 줄은 화면에 안 나와요. 파일은 그대로 두고 읽기만 하니까 안전한 명령이에요.

먼저 오늘의 주문 장부를 cat으로 통째로 봐요. 줄이 꽤 많죠? 이 안에서 '김치전'만 찾는 게 목표예요.

cat orders.txt — 주문 장부 전체를 펼쳐봐요
다섯 줄 중에 '김치전'은 세 줄. 지금은 눈으로 셀 수 있지만, 주문이 300줄이면 못 세요. 그래서 명령에게 시킵니다.

드디어 grep이에요. grep 찾을단어 파일이름 순서로 칩니다. '김치전'이 든 줄만 나올 거예요.

grep 김치전 orders.txt — 장부에서 김치전이 든 줄만 찾아요
필요한 세 줄만 딱 나왔죠? 잡채·멸치볶음 줄은 사라졌어요. 찾는 단어가 든 줄만 — 이게 grep의 전부예요.

장부에 김치전(소문자 느낌)도 있고 영어 메모로 KIMCHI처럼 대문자로 적은 줄도 섞였다고 해봐요. grep kimchi orders.txt 라고 소문자로 치면, 대문자 KIMCHI 줄도 같이 잡힐까요?

맞아요. grep은 기본적으로 대소문자를 칼같이 구분해요. kimchi로 찾으면 KIMCHI는 못 잡아요. 이게 답답할 때 쓰는 스위치가 바로 다음에 배울 -i예요. 👇

대문자든 소문자든 다 잡고 싶으면 -i(ignore case, 대소문자 무시) 옵션을 붙여요. 메뉴 이름을 영어로 섞어 적은 장부에서 'tofu'를 찾아봅시다.

grep -i tofu menu-en.txt — 대소문자 구분 없이 tofu를 찾아요
Tofu, TOFU, tofu — 표기가 제각각이어도 전부 잡혔어요. -i는 '대소문자 신경 끄기' 스위치예요.

주문 장부에서 메모를 Rice, rice 섞어 적었어요. 표기에 상관없이 'rice'가 든 줄을 전부 찾으려면 어떤 옵션을 넣어야 할까요? 빈칸을 채워보세요.

정답! -i(ignore case)예요. 이걸 붙이면 Rice·RICE·rice를 한 그물로 잡아요. mkdir -p에서 봤던 것처럼, grep도 짧은 옵션이 '모드 스위치'예요.

이번엔 더 큰 문제. '김치전'이 어느 파일에 적혀 있는지 모를 때예요. 날짜별로 장부가 여러 개라면? -r(recursive, 재귀)을 붙이면 폴더 안 모든 파일을 통째로 뒤져요.

grep -r 김치전 orders/ — orders 폴더 전체에서 김치전을 찾아요
이번엔 줄 앞에 파일 이름(orders/mon.txt:)이 같이 붙죠? 여러 파일을 뒤졌으니, 어느 파일의 어느 줄인지 알려주는 거예요.
Claude Code에게 '결제 관련 코드 어디 있어?'라고 물으면, Claude는 내부적으로 무엇을 할까요?
맞아요. Claude가 코드베이스를 뒤질 때 쓰는 게 바로 grep과 같은 원리예요 — 폴더 전체에서 단어가 든 줄만 빠르게 추려서 위치를 찾죠. 오늘 손으로 친 grep -r이, AI가 거대한 코드 속에서 길을 찾는 방법과 똑같아요. 그래서 이걸 알면 Claude가 뭘 하는지 보여요.

오늘 한 일을 떠올리며, '장부에서 김치전 찾기'의 자연스러운 순서를 맞춰보세요. (↑↓로 정렬)

완벽해요! 펼쳐보고 → 한 파일에서 찾고 → 표기 무시하고 → 폴더 전체로 넓힌다. 검색은 늘 좁게 시작해서 넓혀가는 리듬이에요.
한 줄로
grep 단어 파일 — 찾는 단어가 든 줄만 뽑아낸다. -i는 대소문자 무시, -r은 폴더 전체 뒤지기. 수백 줄 장부에서 김치전만 골라내는 이 기술이, Claude가 코드를 뒤지는 방식과 같은 원리라는 걸 기억하세요.
다음 레슨에서
지금은 grep 결과가 화면에 그냥 나왔어요. 다음엔 그 결과를 다른 명령에 곧바로 넘겨 일을 이어붙입니다 — 파이프(|)로 명령을 줄줄이 연결하는 법이에요. 🔗