A maioria dos sistemas não rastreia a data de criação dos arquivos .
Se o seu fizer e tiver o GNU / BSD, por exemplo, se for OSX , você pode usar seu predicado -newerBt
para comparar a hora de criação do arquivo (" b irth ") com um tempo específico.
find -newerBt "29-dec-2014 18:00" ! -newerBt "30-dec-2014 18:00"
Isso atravessa subdiretórios recursivamente. Se você quiser apenas arquivos no diretório atual, faça isso
find -mindepth 1 -maxdepth 1 -newerBt "29-dec-2014 18:00" ! -newerBt "30-dec-2014 18:00"
Se o seu sistema não acompanhar os horários de criação, você poderá usar o horário da modificação. Substitua -newerBt
por -newermt
.
Nem ls
nem stat
oferecem uma maneira de filtrar arquivos por hora. Tudo o que eles podem fazer é listar os timestamps dos arquivos, e filtrar a saída para um intervalo de tempo não é fácil. find
é a ferramenta certa para este trabalho.
POSIX find só pode comparar o timestamp de um arquivo com o de outro arquivo, então A maneira portátil de filtrar arquivos em um intervalo de tempo é criar arquivos de limite. Você só pode filtrar a hora da modificação, o POSIX não define um tempo de criação.
touch -t 201412291800 /tmp/start
touch -t 201412301800 /tmp/stop
find . -newer /tmp/start ! -newer /tmp/stop
ou se você não quiser recorrer
find . ! -name . -prune -newer /tmp/start ! -newer /tmp/stop