마지막 수정이 X일보다 오래된 파일 삭제

마지막 수정이 X일보다 오래된 파일 삭제

가장 최근에 수정된 파일과 비교하여 수정 날짜를 기준으로 파일을 삭제하는 솔루션이 있습니까? 최신 파일에 비해 오래된 파일을 삭제해야 합니다.

예를 들어 마지막 수정 날짜가 2017년 9월 10일인 경우 10일보다 오래된 파일을 삭제해야 한다는 의미입니다. 수정 날짜가 변경되는 경우에도 마찬가지입니다. 삭제될 파일도 이에 따라 변경되어야 합니다.

답변1

GNU 도구 사용:

find . -type f -printf '%T@:%p\0' |
  sort -rzn |
  awk -v RS='\0' -v ORS='\0' -F: -v d=10 '
    NR == 1 {t = $1 - 86400 * d}
    $1 < t, 0 {sub(/[^:]*:/, ""); print}' |
  xargs -r0 echo rm

(행복하면 제거됨 echo).

find각 파일을 인쇄 합니다 123456.123:./path/to/file<NUL>( 123456.123파일이 마지막으로 수정된 시간).

숫자순으로 정렬한 다음(최신 파일부터) 이를 사용하여 awk최신 파일(정렬된 목록의 첫 번째 레코드에 있음)보다 10일 오래된 파일을 찾습니다.

답변2

Linux 기반 운영 체제를 사용하는 경우 다음 명령이 도움이 될 것이라고 생각합니다.

find /path/to/directory/ -mindepth 1 -mtime +7 -delete

+7 = 변수, 7일보다 오래된 파일이 삭제됨을 의미

rm의 공백과 따옴표를 참고하세요.

관련 정보