Cómo generar el último archivo creado en Shell

Cómo generar el último archivo creado en Shell

Tengo un ejecutable que crea uno file1o file2junto con otros archivos. Estoy intentando escribir un script de shell que debería generar el último archivo creado. Si el ejecutable crea file1, la salida debería ser file1. Tenga en cuenta que ya tengo ambos file1y file2existen en el directorio junto con otros archivos. El ejecutable lo sobrescribe. Si no existe ningún archivo1/archivo2, el siguiente script funciona, pero esto no funciona si ambos file1y file2existen.

if [ -e "file1" ]; then
   output="file1"
else
   output="file2"
fi

Respuesta1

La forma fácil y rápida.

output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"

Sin embargo, sólo usaría esto si puedes asegurarte de que los archivos no contengan caracteres divertidos como nuevas líneas o espacios. Si puede garantizar que los nombres de los archivos no contengan caracteres divertidos, entonces el análisis lses bastante seguro.

información relacionada