디렉토리에서 가장 오래된 디렉토리를 어떻게 삭제합니까?

디렉토리에서 가장 오래된 디렉토리를 어떻게 삭제합니까?

백업 프로그램을 작성 중인데 특정 디렉터리에서 가장 오래된 디렉터리를 삭제하려면 bash 명령을 실행해야 합니다.

나는이 명령을 찾았습니다가장 오래된 디렉토리를 인쇄:

find -type f -printf '%T+ %p\n' | sort | head -n 1

디렉터리와 해당 콘텐츠를 모두 삭제하는 명령은 다음과 같습니다.

rm -rf [oldest directory name]

가장 오래된 폴더를 삭제하려면 이 두 폴더를 어떻게 결합해야 합니까?

답변1

이는 모든 경로에서 작동해야 합니다(해 주신 @StéphaneChazelas에게 감사드립니다)head장난) POSIX와 호환되어야 합니다(가독성을 위해 형식화됨).

printf %q "$(
    find . -type d -printf "%T+ %p\0" |
    tr '\0\n' '\n\0' |
    sort |
    head -n 1 |
    tr '\0\n' '\n\0' |
    sed -e 's/^[^ ]\+ //')"

실제로 디렉토리를 제거하려면 printf %q다음으로 바꾸십시오.rm -rf --

관련 정보