|
From: | Julio C. Neves |
Subject: | Re: [shell-script] Atualização de arquivos em N pastas |
Date: | Fri, 31 Jan 2014 22:11:03 -0200 |
Olá Robson, o Cara_que_continua_sem_assinar_o_email quer mandar os
arquivos para um ftp, então teria que enviar os arquivos antes.
#!/bin/bash
origem=/pasta
destino=/destino
end_ftp='10.10.1.1'
user='user'
senha='senha'
for arq in $origem/*
do
ftp -ivn "$end_ftp" << eofftp
user "$user" "$senha"
binary
mkdir $(dirname $arq)
send $arq $arq
eofftp
done
Não sei se dá pra fazer um find remoto:) seguindo o teu exemplo.
Se fosse ssh ao invés de ftp seria mais fácil, executando
todos os comando direto na máquina remota.
Abraços e desculpem alguma trave:)
Paulo Bettega
On 31-01-2014 18:23, Robson Alexandre wrote:
> Caro Cara_que_continua_sem_assinar_o_email,
>
> acho q compreendi o q vc está tentando fazer.
>
> então veja se a lógica está correta,
> para cada arquivo em pasta/ executo um find em destino/ e copio de origem para destino.
>
> #!/bin/bash
> origem=/pasta
> destino=/destino
>
> for arq in $origem/*
> do
> cp -v $arq $(find $destino -name $(basename $arq))
> done
>
>
>
> Atenciosamente
> Robson Alexandre
>
>
>
>
> Em 31 de janeiro de 2014 15:59, _ _ <address@hidden <mailto:address@hidden>> escreveu:
>
> __
>
> Julio, obrigado pela resposta e ajuda. Esqueci de assinar mesmo.
>
> Dei um find nos dois diretórios e gravei no log. Este procedimento é
> para 1 caso de pasta, tenho mais de 1 caso, mas é a mesma coisa para os
> outros.
>
> Bom, acho que agora vai ficar mais fácil de entender. Tentei explicar,
> mas compliquei mais.
>
> Preciso atualizar todos os arquivos do anexo "pasta.log" nos destinos do
> "diretorio_subdiretorio_arquivo.log"
>
> Os mesmos arquivos existem nos dois lados, a diferença é que os da
> "pasta.log" estão atualizados.
>
> O problema é que do outro lado, no DESTINO, tenho vários diretórios.
>
> Julio, eu não manjo nada de scripts.
>
> Em 31-01-2014 15:26, Julio C. Neves escreveu:
>
>
> > Olá Cara_que_não_assinou_o_email,
> >
> > Tá complicado de entender, mas veja:
> >
> > ComSeps=$(ls | sed -r
> > 's/^(agua|fogo|terra|ar)(agua|fogo|terra|ar)(.*)$/\1:\2:\3'
> > # Dentro de $ComSeps, as coisas estarão assim: fogo:terra:2.ext
> > for Arq in $ComSeps
> > {
> > mv $(sed 's/://g' <<< $Arq) /$(cut -f1 -d: <<< $Arq)/$(cut -f2 -d:
> > <<< $Arq)
> > }
> >
> > Se eu entendi o que vc quis dizer, isso deve funcionar, porém não testei.
> >
> > Abcs,
> > Julio
> > *@juliobash*
> >
> > *Próximos cursos de Shell *
> >
> > *Cidade*
> >
> >
> >
> > *Local*
> >
> >
> >
> > *Período*
> >
> > São Paulo
> >
> >
> >
> > 4Linux <http://www.4linux.com.br/>
> >
> >
> >
> > 03-07/02
> >
> > Curitiba
> >
> >
> >
> > SoftSell <http://www.softsell.com.br/>
> >
> >
> >
> > 17-21/02
> >
> > Rio de Janeiro
> >
> >
> >
> > EDX <http://edx.srv.br/>
>
> >
> >
> >
> > 10-14/03
> >
> > Dou treinamento de shell em qualquercidade.
> > Para detalhes, entreem contato por email ou
>
> > echo 436233889341364416673541503686485725801923229706P | dc
> >
> >
> >
> > Em 31 de janeiro de 2014 12:25, <address@hidden <mailto:address@hidden>
> > <mailto:address@hidden <mailto:address@hidden>>> escreveu:
>
> >
> > Grupo, peço licença pra entrar e postar uma solicitação de ajuda.
> >
> > Tenho 4 pasta, com o nome de 4 categorias.
> > Cada categoria tem 3 subcategorias.
> > Cada subcategoria, tem n arquivos dentro da pasta.
> > São imagens.
> > Peguei todas as imagens, de todas as
> > ~/categoria/subcategoria/arquivo.ext, e copiei para uma única
> > pasta, tudo misturado, chamado "pasta".
> > As imagens estão em um FTP, separadas nas pastas assim:
> > ~/diretorioX/subdiretorioY/arquivoZ.ext
> > Editei estas imagens através de um action de photoshop, e ele
> > salva tudo em uma única ~/pasta/ tudo misturado...
> > Agora eu preciso fazer upload ORIGEM: ~/pasta/arquivo.ext DESTINO:
> > ~/categoria/subcategoria/arquivo.ext
> >
> > Eu tenho todos os arquivos no DESTINO, mas estão sem edição.
> > Preciso ler os arquivos da ~/pasta/ e substituí-lo no
> > ~/diretorioX/subdiretorioY/arquivoZ.ext
> >
> > Exemplos:
> >
> > Origem: ~/pasta/fogoterra1.ext
> > Destino: ~/Fogo/Terra/fogoterra1.ext
> >
> > Origem: ~/pasta/fogoterra2.ext
> > Destino: ~/Fogo/Terra/fogoterra2.ext
> >
> > Origem: ~/pasta/terraágua1.ext
> > Destino: ~/Terra/Água/terraágua1.ext
> >
> > Origem: ~/pasta/arfogo.ext
> > Destino: ~/Ar/Fogo/arfogo.ext
> >
> > Coloquei um tópico aqui neste fórum também:
> > http://www.vivaolinux.com.br/topico/Shell-Script/Script-de-atualizacao-de-arquivos-recursivamente
> >
> > Agradeço imensamente quem puder me ajudar. Eu ainda não sei
> > escrever script. Tenho mais de 800 arquivos pra atualizar em
> > inumeras pastas. Na mão é desumano.
> >
> > Desde já obrigado.
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
------------------------------------
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
address@hidden
<*> O uso que você faz do Yahoo Grupos está sujeito aos:
http://info.yahoo.com/legal/br/yahoo/utos/terms/
[Prev in Thread] | Current Thread | [Next in Thread] |