Primero que nada, no uses ls en un for, no es necesario. Lo siguiente es equivalente:
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 originalfind . -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 originalfor archivo in $DATADIR/2013.051[5-9]* $DATADIR/2013.05[23][0-9]* $DATADIR/2013.060[1-9]* $DATADIR/2013.0610*
Saludos