GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo enumerar el archivo N'th más reciente (sin analizar Ls!)?

¡Así que sé que analizar ls es malo!.

Hoy encontré esta pepita:

FILENAME=`ls -t $READ_FOLDER | head -1`

Así que creo que originalmente esto fue diseñado para tomar el nombre de archivo más nuevo, en realidad ahora quiero adaptarlo, para tomar tal vez el quinto archivo más reciente ya que el proceso que lo está comprobando es un poco lento, por lo que no podemos estar seguros de que se haya procesado todavía.

Estoy trabajando en bash, pero tampoco me opongo a una solución genérica de sh.

Respuesta aceptada:

Puede usar GNU find para enumerar los archivos con el tiempo modificado expresado como tiempo de época, luego use sort para ordenar la lista, finalmente head y tail para obtener el nombre de archivo numerado deseado:

find . -maxdepth 1 -type f -printf '%[email protected] %pn' | sort -k1,1nr | head -5 | tail -1

Linux
  1. Cómo usar el comando Tar en Linux

  2. ¿Cómo desbloquear un archivo RAR bloqueado con contraseña sin saber la contraseña?

  3. ¿Cómo agregar la salida a un archivo?

  4. ¿Cómo encontrar el administrador de archivos predeterminado?

  5. ¿Cómo eliminar un archivo sin usar rm?

Cómo usar el comando de cabeza de Linux

Cómo usar el comando diff de Linux

Cómo ejecutar el comando Sudo sin contraseña

Cómo enumerar el contenido de un paquete en Linux

Cómo enumerar los miembros de un grupo en Linux

Cómo agregar texto al comienzo del archivo en Linux