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