cd "$dir" && \
find . -type d ! -name . -mtime +"$days" \
! -exec sh -c 'printf %s\n "${1/./$PWD}" | grep -qFf /users/nordic/tokeep' {} {} \; \
-print0 -prune -o -type f -mtime +"$days" -delete |\
xargs -r0 rm -r
Trabalhando
- Após um
cd
bem sucedido na dir. cujo nome está armazenado em$dir
we - Inicie o comando
find
, que faz malabarismos entre os seguintes:- Por
directory
:- Não é o diretório atual e tem mais de $ dias, em seguida, envia seu nome para o xargs do outro lado do canal, desde que não seja encontrado no arquivo de tokeep. Também não entre neste diretório desde que ele tenha sido marcado para liberação.
- OTW, para um
file
, exclua-os se tiverem mais de $ dias.
- Por
- O
xargs
será passado nos antigos diretórios que serão excluídos.