TIL/2026

find, grep 그리고 xargs 완벽 구분

고무 오리 2026. 2. 12. 18:24
728x90

Ubuntu 사용 시 아래 작업을 많이 한다

  • 특정 이름 파일 찾기
  • 문자열 패턴 포함한 파일 찾기

find, grep을 사용하는데 쓸 때마다 헷갈린다. 딱 개념 잡고 가자!

 

파일 찾기

✔️ find

파일 이름, 크기, 시간 등 메타데이터를 조건으로 파일/디렉토리를 찾음

# 이름으로 찾기
find . -name "test.txt"

# 특정 확장자 모두 찾기
find /home -name "*.log"

# 10MB 이상인 파일 찾기
find . -size +10M

 

텍스트 찾기

✔️ grep

파일 내부의 특정 문자열 (내용) 기반으로 파일을 찾음

# 특정 단어 찾기
grep "Error" log.txt

# 대소문자 무시
grep -i "warning" log.txt

# 현재 폴더 전체 검색 (-r : recursive, -n : line number)
grep -rn "main" .

 

마법의 연결고리로 응용하기

 

✔️ xargs

Command_A의 결과물이 Command_B의 파라미터가 됨

Command_A 결과물 개수 만큼 Command_B가 실행 됨

Command_A | xargs Command_B

 

응용1. 텍스트 파일(.txt)을 모두 찾아서 그 안에 "password"가 있는지 검사하고 싶다면?

find . -name "*.txt" | xargs grep "password"

 

응용2. 오래된 로그 파일을 찾아서 즉시 삭제

find /var/log -name "*.old" | xargs rm -rf

 

 

정리하면

find는 조건에 맞는 파일을 찾는 것

grep은 특정 문자열 패턴을 가진 파일을 찾는 것

728x90

'TIL > 2026' 카테고리의 다른 글

UEFI 무엇인가  (0) 2026.02.12
Suspend to RAM  (0) 2026.02.12
Main 보다 먼저 호출되는 코드가 있다?!  (0) 2026.01.21
muldiv64 는 무엇인가?  (0) 2026.01.21
VectorCAST : clicast vs DATA API (manage)  (0) 2026.01.07