[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: