Eu não tentei, mas find
deve ser capaz de lidar com toda a operação:
$ find dir/ -type f ! -newer reference -delete
... ou ...
$ find dir/ -type f ! -newer reference ! -name reference -delete
Basicamente:
-
! -newer reference
corresponde a arquivos que foram modificados menos recentemente do quereference
. -
-delete
os exclui. -
! -name reference
excluireference
, caso também esteja localizado emdir/
e você deseja mantê-lo.
Isso deve excluir todos os arquivos com mais de reference
e localizados em dir/
.