Intentando eliminar todos los archivos menos 2 más recientes en subdirectorios

Estoy creando un cron que limpia los subdirectorios (solo el primer hijo) de una carpeta específica de todos, excepto los dos archivos más recientes, pero con problemas.

Estos son mis intentos:

find ./ -type d -exec rm -f $(ls -1t ./ | tail -n +4);
find . -maxdepth 2 -type f -printf '%T@ %p\0' | sort -r -z -n | awk 'BEGIN { RS="\0"; ORS="\0"; FS="" } NR > 5 { sub("^[0-9]*(.[0-9]*)? ", ""); print }' | xargs -0 rm -f

También intenté crear una matriz de archivos con la intención de pasar por el total menos 2, pero la matriz no estaba llena con todos los archivos:

while read -rd ''; do      x+=("${REPLY#* }");  done < <(find . -maxdepth 2 -printf '%T@ %p\0' | sort -r -z -n )

¿Podría alguien por favor darme una mano y explicarme cómo lo han hecho?

Respuestas a la pregunta(3)

Su respuesta a la pregunta