Olá pessoal, Trabalho com o samba 3.x na rede e configurei o sistema para que crie uma lixeira para cada compartilhamento existente no sistema. Consultando a net consegui uma rotina para limpar os arquivos que estejam em um determinado tempo na lixeira. find /compartilhamento/.recycle/ -type f -mtime 15 -exec rm -rf {} \; O unico problema é que tenho que criar uma linha para cada compartilhamento existente. Então resolvi fazer uma rotina que liste todas as pastas .recycle do sistema e jogar para um txt e em cima dele rodar uma rotina com um for que leia o arquivo txt carregando o caminho das pastas .recycle do txt para uma variável e substituindo na rotina de limpeza das pastas: find / -type d |grep .recycle > /tmp/lixo.txt # localiza todas pastas recycle e grava seu caminho no arquivo txt for limpar in `cat /tmp/lixo.txt` # carrega cada linha para a variavel limpar do find $limpar -type f -mtime 15 -exec rm -rf {} \; # executa o comando sobre o caminho contido na variável limpar done A rotina funciona bem, porém tenho um problema. Alguns nomes de pastas compartilhadas possuem espaço e qdo estas são carregadas do arquivo txt para variável limpar cada palavra separada é interpretada como uma pasta diferente. Ex: /nome da pasta./recycle é interpretada como: find /nome -type f -mtime 15 -exec rm -rf {} \; find /da -type f -mtime 15 -exec rm -rf {} \; find /pasta/.recycle -type f -mtime 15 -exec rm -rf {} \; Uma solução seria substituir o nome das pastas, mas muitas delas armazenam planilhas que possuem vínculos para estas pastas, logo, isso teria que ser refeito manualmente. Portanto, gostaria de saber se alguém pode me dar uma dica de como fazer com que a rotina interprete os nomes compostos das pastas de forma correta. Eu pensei em incluir aspas nos arquivo txt no inicio e no final da linha, mas não sei como fazer isso de forma automática. Se alguém puder ajudar eu agradeço desde já. Muito obrigado Pedro |