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

[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




 




reply via email to

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