Você poderia fazer:
find /my-folder/sub-folder/ -type d -ctime "+$((
1 + 2 * ($(date +%u) <= 2) ))" -prune -exec echo rm -rf {} +
Ou seja, adicione dois dias se o dia atual for 1 (segunda-feira) ou 2 (terça-feira) (supondo que você esteja executando apenas esse script em dias da semana).
Eu adicionei um -prune
, pois não faz sentido descer em diretórios que você está removendo e substituiu xargs
, o que falharia em nomes de arquivos que contivessem espaços em branco ou barras invertidas ou citações com o padrão -exec ... {} +
alternativa.
Observe que ctime
de um diretório não é atualizado quando um arquivo dentro dele é modificado ou quando arquivos são adicionados ou removidos de / para subdiretórios.