[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: RES: RES: [shell-script] Script usando uma conexão FTP
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: RES: RES: [shell-script] Script usando uma conexão FTP |
Date: |
Fri, 17 Dec 2004 17:29:19 -0300 |
Fala Remulo,
| Prezado julio,
|
| Grato pela atenção dispensada a esse pobre discípulo, mas eu não
| consegui entender a saída do comando. eu procurei inclusive no seu
| livro, que é muito bom por sinal, mas o que acontece e que meu tempo
| para estudo de shell é quase zero,
Será que eu como gerente de sw de uma empresa enorme, professor
universitário, colunista da Linux Magazine, escritor de livro, diretor da
Gnome Foudation do Brasil, casado, com 2 filhos, ... tenho + tempo que vc?
:))
| o que me faz permanecer
| infelizmente
| nesta imensa ignorância.
| Mas mesmo assim já foi de grande ajuda.
|
|
| eu fiz o ftp e ele criou a lista, mas não consegui fazer o laço for
| funcionar, também não entendi por que a saída do cut é nula
| (em branco) ?
Vc não deve ter copiado a linha exatamente como eu fiz. Veja:
Prompt> ls
ArqDoDOS.txt1 confuso incusu listartista logado musexc musicas musinc
muslist testefor1 testefor2
Prompt> ls -l | tr -s ' ' | cut -f9 -d' '
ArqDoDOS.txt1
confuso
incusu
listartista
logado
musexc
musicas
musinc
muslist
testefor1
testefor2
| eu não posso fazer no mesmo script o primeiro ftp, listar os
| diretórios, com "cat lista |cut -c40-44" que me da a saída que eu
| quero, ai eu tenho uma lista da seguinte forma.
|
| xxxx
| xxxx
| xxxx
| xxxx
| xxxx
| xxxx
| xxxx
Epa! Tem algo errado aí!
Prompt> ls -l | cut -c40-44
77 S
109 S
261 O
294 D
171 O
97 S
212 D
179 O
61 S
92 D
119 D
| que são os subdiretórios que eu quero entrar, pegar uma
| arquivo, sair e
| assim sucessivamente?
| posso fazer uma variável acumular valores de uma arquivo externo?
|
| ex:
|
| var="/home/user/arquivo" ?
Pra que cara? Acho que o que está te faltando é treinar algoritimos de
programação, a famosa lógica! Se vc não aprender lógica de programação, vc
jamais irá programar, o máximo que vc conseguirá é empurrar componentes como
no (perdão da má palavra) Access (ARGHHH!!)
| estou meio sem rumo, mas sei que vou conseguir!
Cara eu já te ensinei a colocar no arquivo ArqLocal o ls -l da maq. remota.
Para pegar os diretórios vc deve fazer:
grep '^d' ArqLocal
Mas isso ainda não resolve pq agora vc tem o ls -l dos diretórios, mas o que
vc precisa é somente os nomes dos diretórios. Então vamos jogar todo o bla
bla bla do ls -l fora ficando somente com o último campo, que é o nome.
grep '^d' ArqLocal | tr -s ' ' | cut -f9 -d' '
Pronto, já tenho a lista que quero. Qdo escuto falar em lista, penso em for.
Então para botar esta lista no for faça:
for dir in $(grep '^d' ArqLocal | tr -s ' ' | cut -f9 -d' ')
do
ftp ....
....
....
mget $dir
....
....
este ftp é exatamente igual ao que eu havia lhe respondido bem
esmiuçadamente primeiro e-mail que vc perguntou pelo assunto (inclusive
formatando tela para ler as informações sobre o usuário e máquina remota).
Vá na sua caixa postal e resgate-o.
Pronto já te dei o tempo que eu tinha, amanhã é sábado e depois domingo,
aproveite para dar uma estudada em como funciona o for e o ftp e resgatar o
e-mail que te passei (acho que foi para vc, mas se foi para outra pessoa, a
rotina é exatamente a mesma) há mais ou menos uma semana.
[ ]s,
Julio
:wq
| Obrigado, e desculpe pelo transtorno.
|
| Julio Cezar Neves - DATAPREVRJ escreveu:
|
| >Aê remulo,
| >vc terá que fazer outro ftp antes daquele para saber quais são os
| >diretórios. Dentro deste ftp vc terá um cmd assim:
| >
| >ls . ArqLocal
| >
| >ou:
| >
| >dir . ArqLocal
| >
| >Terminado este primeiro ftp, em ArqLocal vc terá a listagem
| longa (ls -l) do
| >diretório remoto, então se vc fizer:
| >
| >for dir in $(grep '^d' ArqLocal | tr -s ' ' | cut -f9 -d' ')
| >do
| > ftp ....
| > ....
| > ....
| >done
| >
| >Acho que seu problema estará resolvido.
| >
| >[ ]s,
| >Julio Cezar Neves
| >- Programa de Software Livre -
| >Tel:+55 21 2528-7070 / +55 21 8112-9988
| >Fax: +55 21 2528-7646
| >mailto:address@hidden
| >:wq
| >
| >
| >| -----Mensagem original-----
| >| De: remulo [mailto:address@hidden]
| >| Enviada em: quarta-feira, 15 de dezembro de 2004 16:43
| >| Para: address@hidden
| >| Assunto: Re: RES: [shell-script] Script usando uma conexão FTP
| >|
| >|
| >|
| >| Grato Julio,
| >|
| >| Ficou ok.
| >|
| >| agora só + uma pergunta,
| >|
| >| Dentro do diretório que eu quero fazer o get, eu tenho vários
| >| subdiretórios, que também tenho que pegar arquivos, tenho
| >| como fazer um
| >| "for" para ele que o ftp leia os diretórios, entre no
| >| diretório e pegue
| >| o arquivo que eu quero.
| >|
| >| exemplo.
| >|
| >| /xxxx é o meu raiz
| >|
| >| /xxxx/yyyy
| >| /xxxx/yyyy/arq_data.zip é o arquivo que eu tenho que baixar.
| >|
| >| já consegui fazer ele baixar entrando e saindo, + se eu
| >| conseguir fazer
| >| um for eu reduzo o script e não preciso me preocupar se um novo
| >| diretório for adicionado,.
| >|
| >|
| >| Grato + uma vez.
| >|
| >| Julio Cezar Neves - DATAPREVRJ escreveu:
| >|
| >| >Coloque o $USER entre aspas. Veja:
| >| >HOST="w.x.y.z 5000"
| >| >USER='xxxx\xxxx'
| >| >PASSWD='xxxxx'
| >| >ftp -n $HOST <<END_SCRIPT
| >| > quote USER "$USER"
| >| > quote PASS $PASSWD
| >| > ...
| >| > ...
| >| >END_SCRIPT
| >| >
| >| >[ ]s,
| >| >Julio Cezar Neves
| >| >- Programa de Software Livre -
| >| >Tel:+55 21 2528-7070 / +55 21 8112-9988
| >| >Fax: +55 21 2528-7646
| >| >mailto:address@hidden
| >| >
| >| >
| >| >| -----Mensagem original-----
| >| >| De: remulo [mailto:address@hidden]
| >| >| Enviada em: quarta-feira, 15 de dezembro de 2004 13:51
| >| >| Para: address@hidden
| >| >| Assunto: [shell-script] Script usando uma conexão FTP
| >| >|
| >| >|
| >| >|
| >| >|
| >| >| Prezados Bom dia,
| >| >|
| >| >| Estou tentando utilizar este script, mas confesso que bash
| >| >| não é minha
| >| >| especialidade, então se alguém puder me ajudar eu agradeço.
| >| >|
| >| >| o meu problema é o seguinte:
| >| >|
| >| >| HOST="w.x.y.z 5000"
| >| >| USER='xxxx\xxxx'
| >| >| PASSWD='xxxxx'
| >| >| ftp -n $HOST <<END_SCRIPT
| >| >| quote USER $USER
| >| >| quote PASS $PASSWD
| >| >|
| >| >| o meu usuário tem uma contra barra no meio e o ftp não
| >| >| consegue aceita-la, então como faço para me autenticar com
| >| >| esta contra barra no meio do login.
| >| >|
| >| >|
| >| >| espero ter sido claro.
| >| >| grato a todos.
| >| >|
| >| >|
| >| >| --
| >| >|
| >| >| Grato pela atenção,
| >| >| ---------------------------------------------------
| >| >| Rêmulo Ferreira
| >| >| Analista de Suporte
| >| >| E-mail:*address@hidden* <mailto:address@hidden>
| >| >| ----------------------------------------------------
| >| >|
| >| >|
| >| >|
| >| >|
| >| >|
| >|
| ---------------------------------------------------------------------
| >| >| 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
| >|
| >---------------------------------------------------------------------
| >| >
| >| >Links do Yahoo! Grupos
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >|
| >---------------------------------------------------------------------
| >| >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
| >|
| >---------------------------------------------------------------------
| >| >
| >| >Links do Yahoo! Grupos
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >| >
| >|
| >| --
| >|
| >| Grato pela atenção,
| >| ---------------------------------------------------
| >| Rêmulo Ferreira
| >| Analista de Suporte
| >| CECRERJ LTDA
| >| (21) 9769-7422
| >| (21) 2524-1991 - Ramal: 117
| >| E-mail:*address@hidden*
| <mailto:address@hidden>
| >| E-mail:*address@hidden* <mailto:address@hidden>
| >| ----------------------------------------------------
| >|
| >|
| >|
| >|
| ---------------------------------------------------------------------
| >| 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
| >---------------------------------------------------------------------
| >
| >Links do Yahoo! Grupos
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >---------------------------------------------------------------------
| >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
| >---------------------------------------------------------------------
| >
| >Links do Yahoo! Grupos
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
| >
|
| --
|
| Grato pela atenção,
| ---------------------------------------------------
| Rêmulo Ferreira
| Analista de Suporte
| **
| <mailto:address@hidden>E-mail:*address@hidden.b
| r* <mailto:address@hidden>
| ----------------------------------------------------
|
|
|
| ---------------------------------------------------------------------
| 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
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: RES: RES: [shell-script] Script usando uma conexão FTP,
Julio Cezar Neves - DATAPREVRJ <=