es6 - Bash Scripting: eliminando el directorio más antiguo
cheatsheet es6 (4)
Quiero buscar el directorio más antiguo (dentro de un directorio) y eliminarlo. Estoy usando lo siguiente:
rm -R $(ls -1t | tail -1)
ls -1t | tail -1
ls -1t | tail -1
realmente me da el directorio más antiguo, el problema es que no está borrando el directorio, y que también lista los archivos.
¿Cómo podría arreglar eso?
Esto no es bonito pero funciona:
rm -R $(ls -lt | grep ''^d'' | tail -1 | tr " " "/n" | tail -1)
find directory_name -type d -printf "%TY%Tm%Td%TH%TM%TS %p/n" | sort -nr | tail -1 | cut -d" " -f2 | xargs -n1 echo rm -Rf
Debe eliminar el eco antes de la rm si produce los resultados correctos
rm -R $(ls -tl | grep ''^d'' | tail -1 | cut -d'' '' -f8)
rm -R "$(find . -maxdepth 1 -type d -printf ''%T@/t%p/n'' | sort -r | tail -n 1 | sed ''s/[0-9]*/.[0-9]*/t//'')"
Esto también funciona con un directorio cuyo nombre contiene espacios, pestañas o comienza con un "-".