|
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




( 3.1 / 119 )
|

Calendar



