--- Em [email protected], "Ernander (Nander)" <ernan...@...> escreveu > > Senhores boa Tarde! > > preciso de uma Ajudinha básica: > > > o que eu quero é basicamente a linha em vermelho acima que deveria vir > assim: > > #DATA #HORA #AGENCIA > #CIDADE/ESTADO #STATUS > 03/06/2009 14:35 CEE GOVERNADOR VALADARES - GOVERNADOR VALADARES/MG > Entregue > > Mas o que me me interessa mesmo é somente a data/hora e o Status. Porém > tenho vários status e de vez em qdo ( pelo fato de ser muito acessado) o > site da "Server Unavaiable" mas é questão de minutos se eu refizer a > consulta ele retorna os dados. > > > como eu elimino o Lixo antes, filtro somente a linha que eu quero ( sem > quebrar de linha o Status) para eu poder continar as averiguações? >
Ernander, boa tarde. Vamos por partes, como diria o Jack. First of all, 2 conselhos: 1. Não use e-mail em formato HTML. Nem todos na lista recebem este formato (não se surpreenda se alguem só ler os e-mails em um console tty). Eu mesmo, que opto por não receber os e-mails mas acompanho a lista pelo RSS, não consigo ver o código html na própria página do yahoo. Portanto, não tenho a menor idéia de onde você destacou em vermelho. 2. Não cole muito conteúdo o corpo do e-mail. O texto que explica o seu problema e o que realmente importa para alguém te ajudar se perde no meio do conteúdo que você colou. Sem contar que o yahoo esculhamba as quebras de linhas. O que está bonitinho na tela do seu mail client, chega aqui uma verdadeira bagunça. Tem sites legais na internet onde você pode colar o seu conteúdo, inclusive com destaque de sintaxe. O pastebin.com é um deles (dentre muitos). Bom, agora vamos ao seu problema. Pelo que consegui entender, você quer ver só a primeira linha (de cima para baixa, a mais atualizada) do status do objeto, certo? Se for assim, tem várias maneiras de fazer isso. Voce pode comerçar usando uma ER (http://www.aurelio.net/er/) para identificar o que são linhas de status e o que é "lixo". Uma coisa comum a toda linha de status é que ela tem um timestamp, reprsentado pela data+hora. Então esta ER pega tudo que tem um timestamp no formato usado pelo site: [0-3][0-9]\/[0-1][0-9]\/"20"[0-1][0-9]\ [0-2][0-9]\:[0-5][0-9] Atenção para o espaço em branco escapado (\ ) separando a hora da data. Bom, o status vem na linha seguinte, então você precisa da linha que tem o timestamp, mais a linha seguinte. "grep -A 2" faz isso para você. Mas você só quer a última atualização. O comando head pega só as primeiras e head -n 2 diz para pegar só as 2 primeiras. Agora é só juntar a linha que tem o timestamp, com a do status. Use o sed para isso. O comando para juntar as linhas é o ':a;$!N;s/\n//g;ta' (Aurélio denovo: http://aurelio.net/sed/sed-HOWTO/sed-HOWTO-7.html). Se quiser entender o porque da sopa de letrinhas, isso foi comentado aqui dias atrás (http://br.groups.yahoo.com/group/shell-script/message/29438). Então, juntando tudo isso, dá uma olhada como fica: http://pastebin.com/f2548cd8 É isso que você queria fazer? Ajudou?
