[macOS] Finder를 넘어서: find와 grep으로 파일 정복하기

Finder는 훌륭한 파일 탐색기이지만, 수만 개의 파일 속에서 복잡한 조건으로 무언가를 찾아야 할 때 한계를 드러냅니다. “최근 일주일 사이에 수정된, 100MB가 넘는 동영상 파일”을 찾아야 한다면 어떻게 하시겠습니까?

터미널의 findgrep 명령어를 사용하면, 이러한 복잡한 요구사항을 단 한 줄의 명령으로 해결할 수 있습니다. 이번 포스팅에서는 Finder를 뛰어넘는 터미널 파일 관리 비법을 소개합니다.


## 강력한 파일 검색 엔진: find

find 명령어는 이름, 크기, 수정일, 종류 등 거의 모든 조건을 조합하여 파일을 검색할 수 있습니다.

  • 기본 구조: find [경로] [옵션] [조건]

실전 예시

  • 특정 이름의 파일 찾기 (현재 폴더 및 하위 폴더):Bash# 확장자가 .log 인 모든 파일 검색 find . -name "*.log"
  • 특정 크기 이상의 파일 찾기 (다운로드 폴더에서):Bash# 100MB를 초과하는 파일 검색 find ~/Downloads -size +100M
  • 최근 7일 내에 수정된 파일 찾기 (홈 폴더에서):Bashfind ~ -mtime -7

## 파일 내용까지 검색: grep

grep은 하나 또는 여러 개의 파일 내용에서 특정 텍스트 패턴을 찾아주는 강력한 도구입니다. 로그 파일에서 에러 메시지를 찾거나, 코드에서 특정 함수가 사용된 부분을 찾을 때 필수적입니다.

  • 기본 구조: grep [옵션] [찾을_패턴] [파일_또는_경로]

실전 예시

  • 현재 폴더의 모든 파일에서 ‘ERROR’라는 단어 찾기 (-r 옵션은 하위 폴더까지 검색):Bashgrep -r "ERROR" .
  • findgrep의 환상적인 조합: “최근 24시간 내에 수정된 로그 파일(.log) 중에서 ‘FATAL’이라는 단어가 포함된 줄만 찾아줘.”Bashfind . -name "*.log" -mtime -1 -exec grep "FATAL" {} +

## Spotlight와 연동: mdfind

mdfind는 macOS의 강력한 Spotlight 검색 엔진을 터미널에서 사용할 수 있게 해주는 명령어입니다. find가 파일 시스템을 직접 읽는 반면, mdfind는 이미 만들어진 인덱스를 사용하므로 매우 빠릅니다.

# 종류가 이미지이고, 가로 해상도가 1920px 이상인 파일 찾기
mdfind "kind:image width:>1920"

## 결론

find, grep, mdfind는 단순한 파일 검색을 넘어, 데이터를 분석하고 관리하는 도구입니다. 이 명령어들에 익숙해지면, Mac을 다루는 당신의 능력은 한 차원 높아질 것입니다.