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 referencecorresponde a arquivos que foram modificados menos recentemente do quereference. -
-deleteos exclui. -
! -name referenceexcluireference, 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/ .