Use a localização:
Isso excluirá todos os arquivos e pastas, exceto o mais novo no diretório atual; ele verificará o arquivo mais recente somente na pasta direta e não no subdiretório conforme solicitado.
find . -maxdepth 1 ! -path . ! -wholename 'find . -maxdepth 1 -printf '%T+ %p\n' | sort -n | tail -1 | cut -d " " -f2' -exec rm -rf {} \;
e para excluir apenas arquivos e não pastas, use -type f
find . -maxdepth 1 -type f ! -path . ! -wholename 'find . -maxdepth 1 -printf '%T+ %p\n' | sort -n | tail -1 | cut -d " " -f2' -exec rm -rf {} \;
Exemplo:
$ touch {1..100}
$ echo "hello" > 89
$ find . -maxdepth 1 -type f ! -path . ! -wholename 'find . -maxdepth 1 -printf '%T+ %p\n' | sort -n | tail -1 | cut -d " " -f2' -exec rm -rf {} \;
$ ls
89