GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿obtener archivos para la fecha actual en Linux?

Normalmente la date +%d da la salida 08 para la fecha actual, 10/08/2017. Pero cuando hago ls -lrt en una ruta, el formato de fecha es como Oct 8 15:03 , entonces, ¿cómo obtengo los archivos de la fecha actual?

Estoy usando el comando

ls -lrt XYZ.LOG* |grep "$(date +'%b %d')" |awk '{print $9}'

pero no me da el archivo de la fecha de hoy (08/10/2017) aunque me da la salida correcta para las fechas 10 - 31 de cualquier mes.

Respuesta aceptada:

Esto es hacer un poco de trampa, pero funciona.

Primero cree un archivo de referencia vacío con una marca de tiempo específica, a saber, medianoche:

touch -d "$(date +%FT00:00:00)" /tmp/midnight

Luego busque archivos que sean más nuevos que este archivo:

find . -type f -newer /tmp/midnight

Si quieres ls -como la salida de find en lugar de solo los nombres de ruta:

find . -type f -newer /tmp/midnight -ls

Si desea encontrar archivos que coincidan con el patrón XYZ.LOG* :

find . -type f -name 'XYZ.LOG*' -newer /tmp/midnight -ls

Si tiene GNU find , puede omitir el archivo temporal y usar

find . -type f -newermt 0

para obtener archivos modificados desde la medianoche.

Relacionado:¿Por qué *no* analizar `ls`?


Linux
  1. Cómo buscar archivos grandes en la consola

  2. ¿Cómo encontrar la aplicación para un tipo Mime en Linux?

  3. Comandos de búsqueda de Linux

  4. Utilice Buscar y localizar para buscar archivos en Linux

  5. Cómo usar el comando find de Linux para buscar archivos

Encuentra archivos grandes en Linux

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Trucos de formato para el comando de fecha de Linux

Cómo buscar archivos desde la línea de comandos de Linux

Cómo encontrar archivos con el comando fd en Linux