Re: find
On Fri, 8 Feb 2002, Joel Franco wrote:
> On Fri, Feb 08, 2002 at 01:31:05AM -0200, Antonio Alberto Lobato wrote:
> >
> >
> > Oi, debiers.
> >
> > Na linha de comando abaixo, como fazer o find zerar os arquivos (apagar
> > o conteúdo), e não criar um arquivo de nome {} ? O man ensina a usar a
> > opção -exec mas não detalha a esse ponto. Já tentei usar backslash,
> > quotes, double quotes em alguns pontos do comando e nada.
> >
> > $ find -type f -name algo -exec echo -n > {} \;
>
> $ for i in `find -type f -name algo`; do
> rm $i
> touch $i
> done
>
> teoricamente isso funcionaria, nao (fixme) ?
>
Não dá pra usar isso porque ao criar arquivos novos com touch, você não
vai manter os devidos donos/grupos/permissões dos arquivos de log.
A idéia de usar o loop "for" está certa, é assim que eu normamente apago
meus logs, mas com "echo -n >", e não "rm" e "touch".
Mas na verdade, perguntei sobre o find porquê quero aprender
especificamente sobre ele. Em essência, minha pergunta é:
Como usar redirecionamento no espaço entre "-exec" e "\;" de forma
que o find continue expandindo o "{}" para o nome do arquivo que está
sendo processado ?
Tom
Reply to:
- Follow-Ups:
- Re: find
- From: Joel Franco <joel@netlocal.com.br>
- References:
- Re: find
- From: Joel Franco <joel@netlocal.com.br>