Com o GNU find
e em sistemas e sistemas de arquivos que suportam o horário de nascimento :
find . -name '*.txt' -type f -newerBt 2016-01-01 \
! -newerBt 2017-01-01 -printf . | wc -c
Tecnicamente, isso excluiria os arquivos criados no nanoegundo 00-01: 00: 00.000000000 2016-01-01 e incluiria aqueles criados naquele nanossegundo em 2017 (não espero que seu relógio tenha essa precisão ou que seja importante, mas pode importar em sistemas de arquivos que não suportem timestamps de subsegundos para arquivos criados por tarefas agendadas às 00:00:00, por exemplo)
Se o seu sistema não suportar o horário de nascimento, você pode reverter para a hora da última modificação (o que provavelmente é melhor, já que a hora de nascimento é o momento em que o arquivo foi instanciado, não o tempo foi escrito por isso tem pouca relevância na prática), alterando newerBt
para newermt
.
Com BSD find
(de onde vêm esses -newerxy
), você pode alterá-lo para:
find .//. -name '*.txt' -type f -newerBt 2016-01-01 \
! -newerBt 2017-01-01 | grep -c //