O comando GNU find
é o caminho a percorrer. Por exemplo, para excluir todos os arquivos no diretório atual entre 1 e 5 de agosto, você pode usar o seguinte comando
find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete
É melhor executar o comando sem a ação -delete
, primeiro, para ver a listagem de arquivos interessados (um bom substituto pode ser -ls
que produz uma listagem semelhante a ls).
A remoção da especificação -maxdepth 1
também irá percorrer todos os subdiretórios.
Você também pode especificar horas, por exemplo
find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
! -newermt '2011-08-06 23:01:00' -delete
Esteja avisado para não remover aspas simples, que protegem os espaços entre a data e a hora.
O caractere !
é uma negação, deve ser lido: mais recente que esta data mas não mais recente que essa outra data.