¿Cómo puedo eliminar el directorio más antiguo de un directorio?

¿Cómo puedo eliminar el directorio más antiguo de un directorio?

Estoy escribiendo un programa de respaldo y necesito ejecutar un comando bash para eliminar el directorio más antiguo en un directorio específico.

He encontrado este comando paraimprimir el directorio más antiguo:

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

Y este comando para borrar un directorio y todo su contenido:

rm -rf [oldest directory name]

¿Cómo puedo combinar estos dos para eliminar la carpeta más antigua?

Respuesta1

Esto debería funcionar con cualquier ruta (Gracias a @StéphaneChazelas por elheadtruco) y debe ser compatible con POSIX (formateado para facilitar la lectura):

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/^[^ ]\+ //')"

Para eliminar realmente el directorio, reemplácelo printf %qconrm -rf --

información relacionada