하위 디렉터리를 무시하고 특정 디렉터리에서 x 시간보다 오래된 파일을 찾습니다.

하위 디렉터리를 무시하고 특정 디렉터리에서 x 시간보다 오래된 파일을 찾습니다.

내 설정은 다음과 같습니다.

폴더 구조

dir
 |--correctfile1
 |--correctfile2
 |--correctfile3
 |--subdir1
   |--wrongfile1
   |--wrongfile2
   |--wrongfile3
 |--subdir2
 |--subdir3

dir그 안에 3분보다 오래된 파일이 있는지 알아내야 합니다 . 즉, 폴더를 무시 subdir1, subdir2 and subdir3하고 홈 디렉터리에서만 검색 해야 합니다.dir

나는 다음 줄을 가지고 있습니다

find $dir -mmin +3 -type f

하지만 이것은 subdir1의 파일도 인쇄합니다.

추가 정보:

운영 체제 5.3

-maxdepthfind 명령에는 , -mindepth, -or또는 옵션이 없습니다 -not.-path


맨페이지:http://textuploader.com/oe0r

답변1

재귀를 방지하는 이식 가능한 방법은 find최상위 디렉터리가 아닌 다른 디렉터리에서 작업을 수행하는 것입니다.-prune

find "$dir" \! -name "$(basename -- "$dir")" -type d -prune -o -mmin +3 -type f -print

관련 정보