Em 25/06/07, Debian <[EMAIL PROTECTED]> escreveu:

 Olá Sérgio,

Na verdade eu já tinha tentado isso, mas no caso o problema está na hora
que a linha do txt e jogada para a a variável e dele encarar o espaço em
branco entre as palavras (mesmo que o inicio e o fim tenham aspas) como um
caractere de fim de linha.

Eu também entrei no txt e coloquei manualmente as aspas nos nomes
compostos, mesmo assim não funcionou.

Se souber outra dica por favor me mande.

Abraço

Pedro
Sérgio Pinheiro escreveu:


Olá Pedro, blz ?

Coloca a variável entre aspas que funciona.

*find "$limpar" -type f -mtime 15 -exec rm -rf {} \; *

Se quiser fazer um teste, faz assim:

mkdir "isso é um teste"

e depois entre no diretório pela tecla TAB.

cd iss TAB

E você verá que funciona.

Abraços,

Sérgio.


----- Original Message -----
*From:* Debian <[EMAIL PROTECTED]>
*To:* debian-portuguese <debian-user-portuguese@lists.debian.org>
*Sent:* Monday, June 25, 2007 11:46 AM
*Subject:* Rotina de limpeza da pasta .recycle do samba

 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


 -- To UNSUBSCRIBE, email to
[EMAIL PROTECTED] with a subject of
"unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Tente colocar uma contra-barra antes dos espaços em branco.

--
Gerson Henrique Diesel
MSN - [EMAIL PROTECTED]

Responder a