shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Atualização de arquivos em N pastas


From: Paulo Bettega
Subject: Re: [shell-script] Atualização de arquivos em N pastas
Date: Sat, 01 Feb 2014 00:19:32 -0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

Olá Robson, se for assim fica mais fácil, vc tem razão, é só
mandar os arquivos de volta.

Se ele não espelhou o ftp ou os arquivos não tiverem a informação
do caminho no nome como ele postou, acho que complica:)
Tentei pegar uma listagem do ftp mas nenhum comando que
eu tentei age recursivo no ftp.

Abraços Paulo Bettega




On 31-01-2014 22:35, Robson Alexandre wrote:
Bem observado meu caro Paulo,
mas me parece q ele faz o download da estrutura q está no ftp, pega somente os 
arquivos e joga tudo
dentro de um diretório único,  trabalha esses arquivos e devolve para a 
estrutura de diretórios
espelhada com o ftp.
Acho q após isso é só fazer o upload de toda a estrutura de diretórios 
atualizada para o ftp de uma
vez só.

Atenciosamente
Robson Alexandre

Enviado por Samsung Mobile
GT-I9305 Android 4.1.2 Jelly Bean

Em 31/01/2014 20:50, "Paulo Bettega" <address@hidden <mailto:address@hidden>>
escreveu:

    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>
    <mailto: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>>
     >      > <mailto: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
    <mailto:address@hidden>
    ---------------------------------------------------------------------
    Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
    ---------------------------------------------------------------------
    Servidor Newsgroup da lista: news.gmane.org <http://news.gmane.org>
    Grupo: gmane.org.user-groups.programming.shell.brazil

    Links do Yahoo Grupos





reply via email to

[Prev in Thread] Current Thread [Next in Thread]