Search 

Usando find 
Friday, December 28, 2007, 22:59
Posted by Administrator

Caros,

Esta semana, um amigo meu gustavoroberto me perguntou sobre a possibilidade de "distribuir" um arquivo por vários diretórios.

A conversa foi mais ou menos assim...

gustavorobertux%gmail.com Qui 27 Dez 2007 12:08:38
bixo
preciso copiar um arquivo chamado index.html
para trocentos subdiretorios
como você faria isso
com 1 linha ?
tem idéia ??

gustavorobertux%gmail.com Qui 27 Dez 2007 12:09:20
usando esses lances tipo

-exec cp {}\;

ou algo que o valha

??? Qui 27 Dez 2007 12:10:17
for i in `find / -type d`; do cp index.html $i ; done

é jeito mais simples que eu sei de cabeça...
??? Qui 27 Dez 2007 12:10:31
agora vamos tentar do jeito elegante

??? Qui 27 Dez 2007 12:11:00
find / -type d | xargs cp index.html

ou ainda..

find / -type d -exec {cp index.html} .... ou algo parecido... essa sintaxe eu nao sei de cor

gustavorobertux%gmail.com Qui 27 Dez 2007 12:12:03
saquei
massa

??? Qui 27 Dez 2007 12:13:32
find -type d | xargs cp index.html
cp: target `Caminhos' is not a directory
??? Qui 27 Dez 2007 12:22:45
find -type d -print0 | xargs -0 -i cp index.html ./{}
??? Qui 27 Dez 2007 12:22:56
agora vou testar usando o -exec
??? Qui 27 Dez 2007 12:28:01
find -type d -exec cp index.html '{}' \;

gustavorobertux%gmail.com Qui 27 Dez 2007 12:28:34
aha
acho que eh isso
tem que escapar os {}
alias
colocar aspa nele

Resumindo ....

Utilizando "for" e "find"

for i in `find / -type d`; do cp index.html $i ; done

Utilizando "find" e "xargs"

find -type d -print0 | xargs -0 -i cp index.html ./{}

Utilizando "find"

find -type d -exec cp index.html '{}' \;

Nãb basta funcionar, tem que ser "elegante"

sds
Kl0nEz


add comment   |  0 trackbacks   |  permalink   |   ( 3.1 / 119 )


<<First <Back | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Next> Last>>