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

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

Re: [shell-script] Re: Listar arquivos do FTP por data de alteração


From: Julio C. Neves
Subject: Re: [shell-script] Re: Listar arquivos do FTP por data de alteração
Date: Mon, 2 Dec 2013 10:59:36 +0000

Xiiiii, BOBEIRA MINHA!

eu ia usar barras como separador de sed, mas qdo reparei que iria trabalhar com datas que tem 2 barras, resolvi trocar as barras por barras verticais (|). Até aí tudo bem, só que esqueci de tirar as barras que eu já jhavia colocado.

O certo seria (acho, pq continua sem teste):

sed -r 's|^([0-9]{2})/([0-9]{2})/([0-9]{4})(.*)|\3\2\1\4|'

Abcs,
Julio
@juliobash
Facebook? Neither that the cow cough...
;)




Em 2 de dezembro de 2013 01:01, nerobarrabas <address@hidden> escreveu:
 

Grande Julio,
Pelos suas dicas, estou quase chegando lá.
Já tenho o arquivo de log com a lista do FTP.
Mas o retorno do comando abaixo está dando erro:

$ sed -ir 's/|^([0-9]{2})/([0-9]{2})/([0-9]{4})(.*)|/\3\2\1\4|' /tmp/julio.log

Olha o erro:

sed: -e expressão #1, caractere 27: Opção desconhecida para o comando `s' (s///?)

Pode ajudar?

Grato desde já.

Dito

--- Em address@hidden, "Julio C. Neves" <julio.neves@...> escreveu
>
> read -p "Máquina remota: " Maq
> read -p "User remoto ($LOGNAME): " User
> User=${User:-$LOGNAME}
> read -sp "Senha: " Sen
> ftp -ivn $Maq &>/tmp/log$$ << FimFTP
> user $User $Ser
> ls \* /tmp/ls$$ # Se ls não funcionar, use dir. A saída do ls ficará
> em /tmp/ls$$
> bye
> FimFTP
> sed -ir 's|^([0-9]{2})/([0-9]{2})/([0-9]{4})(.*)|/\3\2\1\4|' /tmp/ls$$ #
> inverti a data para YYYYMMDD para classificar
> sort -o /tmp/ls$$ /tmp/ls$$
>
> Pronto, /tmp/ls$$ já está em ordem crescente de data. Viu!? Extremamente
> difícil e complicado, como tudo em Shell ;)
>
> OBS:
> 1 - Isso pode ter algum pequeno erro, pois não foi testado
> 2 - Eu fiz um ls * na máquina remota. Vc pode especificar melhor o escopo
> desse ls (sempre protegendo os metacaracteres para o shell local não
> expandi-los) ou filtrá-lo com um grep no /tmp/ls$$
>
> SuShellso
>
> Abcs,
> Julio
> *@juliobash*
>
> *Facebook? Neither that the cow cough... ;)*
>
>
>
> Em 1 de dezembro de 2013 12:46, nerobarrabas <diramos@...> escreveu:
>
> >
> >
> > Mestres,
> > Tenho no ftp server remoto os seguintes arquivos:
> >
> > 12/01/2013 03:00 Pasta log
> > 03/13/2013 12:00 138,340 nagios-03-13-2013-00.log
> > 03/14/2013 12:00 148,630 nagios-03-14-2013-00.log
> > 03/15/2013 12:00 111,346 nagios-03-15-2013-00.log
> > 03/16/2013 12:00 88,242 nagios-03-16-2013-00.log
> > 03/17/2013 12:00 50,621 nagios-03-17-2013-00.log
> > 03/18/2013 12:00 29,882 nagios-03-18-2013-00.log
> > 03/19/2013 12:00 179,261 nagios-03-19-2013-00.log
> > 03/20/2013 12:00 137,559 nagios-03-20-2013-00.log
> > 03/21/2013 12:00 148,879 nagios-03-21-2013-00.log
> > 03/22/2013 12:00 118,604 nagios-03-22-2013-00.log
> > 03/23/2013 12:00 139,618 nagios-03-23-2013-00.log
> > 03/24/2013 12:00 37,453 nagios-03-24-2013-00.log
> > 03/25/2013 12:00 56,198 nagios-03-25-2013-00.log
> > 03/26/2013 12:00 208,937 nagios-03-26-2013-00.log
> > 03/27/2013 12:00 104,240 nagios-03-27-2013-00.log
> > ...
> >
> > Preciso de um comando que apenas liste os arquivos, POR ORDEM DE DATA,
> > para depois eu baixar apenas os 6 mais recentes com o comando wget.
> >
> > Tentei fazer com o wget, mas consigo apenas baixar o arquivo e não apenas
> > listar.
> > Alguem teria uma dica prá apenas listar por ordem de data?
> > Lembrando que o ftp server exige usuário e senha.
> > OBS: Não tenho o curl instalado e, por questões de padronização na
> > empresa, só pretendo instalar o curl em último caso.
> >
> > Grato desde já.
> >
> > Dito
> >
> >
> >
>



reply via email to

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