Как удалить самый старый каталог в каталоге?

Как удалить самый старый каталог в каталоге?

Я пишу программу резервного копирования, и мне нужно выполнить команду 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 --

Связанный контент