Page tree

특정 문구가 있는 파일 출력

search_directory 이하의 파일중에 파일내 search_string 이 있는 부분 및 해당 파일명 출력

find search_directory -type f -exec grep search_string /dev/null {} \;


일치하는 문구는 제외하고 파일명만 출력

grep 의 옵션중에  -l, --files-with-matches 을 주어서 실행

find search_directory -type f -exec grep -l search_string /dev/null {} \;


여러 패턴 찾기

find directory \( -name "*.py" -o -name "*.html" \)


검색 결과 처리

xargs 와 파이프로 연결하여 처리


vim 백업 파일 삭제

find directory -name \*~ | xargs rm 


file size 로 찾기

-size 옵션 뒤에 숫자 크기와 단위(k, M, G 를 명시, (warning) M 과 G는 대문자여야 함)



100k 이상 크기 파일 찾아서 상세 정보 출력
find . -size +100k |xargs ls -l 



100M 이상 파일 찾아서 상세 정보 출력
find . -size +100M |xargs ls -lh 

date 로 찾기

https://www.cyberciti.biz/faq/howto-finding-files-by-date/

https://stackoverflow.com/questions/158044/how-to-use-find-to-search-for-files-created-on-a-specific-date

date 관련 옵션

  • -atime : access time 
  • -mtime : modified time
  • -ctime : creation time


주요 사용법

날자가 이후일 경우 +, 이전일 경우 - 뒤에 숫자를 입력

  • -mtime +60: 변경된지 60일 이후
  • -mtime -60: 변경된지 60일 이전
  • -ctime -30: 생성된지 30일 이내


생성된지 일주일 이내인 파일 검색

find -type f -ctime -7


생성된지 일주일 이후인 파일 삭제

find -type f -ctime +7 | xargs rm 


일주일전에 생성된 파일

find -type f -ctime 7

접근한지 10일 이후인 파일

파일 access 가 없으면 출력 안 함

find -type f -atime +10

변경된지 15일 이내인 파일

생성된지 15일 이내인 파일도 포함됨

find -type f -mtime -15


file type 으로 찾기

directory 만 표시

find /var/www -type d


file 만 표시

find /var/www -type f


symbolic link 만 표시

find /var/www -type l


깨진 symbolic link 파일 찾기

find . -type l ! -exec test -e {} \; -print


찾은 파일 처리

find 로 찾은 파일에 대해 처리가 필요할 경우 xargs 명령어를 pipe 로 연결해서 처리

xargs 로 연결해서 동영상 정보 추출

find . -name *.mp4  | xargs  ffprobe -v quiet -print_format json -show_format -show_streams


파일/폴더에 공백이 있을 경우 delimiter 지정

xargs 는 공백을 구분자로 처리해서 파일명에 공백이 있을 경우 오작동하므로 -d 옵션으로 개행 문자를 delimiter 로 지정

find . -name tour.xml | xargs -d '\n'  ffprobe -v quiet -print_format json -show_format -show_streams


같이 보기

Ref