연령별 파일 삭제

연령별 파일 삭제

디렉토리에서 수정되지 않은 모든 파일을 삭제할 수 있는 명령이 있습니까?질소하늘? 오래된 로그를 정리해야 합니다.

답변1

이렇게 하면 5일보다 오래된 모든 파일이 삭제됩니다. 더 정확하게 하기 위해 거기에 a를 넣을 수도 있고 find 명령에 a를 지정할 -name '*log'수도 있습니다 .maxdepth

find /some/dir -type f -mtime +5 -delete

답변2

그리고 zsh그리고(.m+n) 글로벌 예선: .일반 파일만 선택, m+n그 이상 수정된 파일 선택N예를 들어 며칠 전에
9일 전에 수정된 현재 디렉터리의 파일을 나열하려면 다음과 같이 하세요.

print -rl -- *(.m+9)

D도트 파일을 포함하려면 추가하세요 .

print -rl -- *(D.m+9)

또는 재귀적(그리고 로 끝나는 파일만 나열)을 원하는 경우 .log:

setopt extendedglob
print -rl -- **/*.log(.m+9)

결과가 만족스러우면 다음 print -rl으로 바꾸세요. rm파일이 많으면 사용해야 할 수도 있습니다 zargs(피하려면).매개변수 목록이 너무 깁니다.):

autoload zargs
zargs ./**/*(.m+9) -- rm

관련 정보