Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] Script en bash linux (listar cierto tipo de archivos)

Estas en el tema de Script en bash linux (listar cierto tipo de archivos) en el foro de Unix / Linux en Foros del Web. Hola, estoy haciendo un script donde tengo que listar ciertos archivos dentro de un periodo especifico, la fecha del archivo la se por el nombre ...
  #1 (permalink)  
Antiguo 26/06/2013, 08:09
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Script en bash linux (listar cierto tipo de archivos)

Hola, estoy haciendo un script donde tengo que listar ciertos archivos dentro de un periodo especifico, la fecha del archivo la se por el nombre que tiene el archivo, el formato de nombres que tengo es el siguiente:

año.mesdia.horaminutos

Por ejemplo un archivo seria asi:

2013.0621.0537

Si quiero listar los archivos del 10 al 19 de junio de 2013 lo hago así:

for ARCHIVO in `ls $DATADIR/2013.061[0-9]*`

Pero lo que no se hacer es como listar los archivos del 01 al 19 de junio, por ejemplo, o de un mes a otro como del 15 de mayo al 10 de junio.

Gracias.

Última edición por master1983; 26/06/2013 a las 09:04
  #2 (permalink)  
Antiguo 26/06/2013, 09:30
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script en bash linux (listar cierto tipo de archivos)

Primero que nada, no uses ls en un for, no es necesario. Lo siguiente es equivalente:
Código BASH:
Ver original
  1. for archivo in *txt

No creo que haya una forma sencilla de hacer esto en base a los nombres de archivo, si fuese por tiempo de modificación podrías usar la opción -mtime de find, algo como:
Código BASH:
Ver original
  1. find . -type f -mtime -30 -mtime +15
para encontrar los archivos modificados hace más de 15 días y menos de 30.

Pero para buscar por nombres, ahora mismo solamente se me ocurre utilizar más de un glob. Por ejemplo, archivos desde el 15 de mayo al 10 de junio:

Código BASH:
Ver original
  1. for archivo in $DATADIR/2013.051[5-9]* $DATADIR/2013.05[23][0-9]* $DATADIR/2013.060[1-9]* $DATADIR/2013.0610*

Saludos
  #3 (permalink)  
Antiguo 26/06/2013, 09:45
 
Fecha de Ingreso: junio-2011
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Script en bash linux (listar cierto tipo de archivos)

Ok, muchas gracias por tu respuesta.

Saludos.

Etiquetas: bash, ip, linux, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.