Re: [FUG-BR] Historico da lista, top-posting e outros

2013-02-10 Por tôpico rollingbits (aka Lucas)
On Sun, Feb 10, 2013 at 10:20:44AM -0200, Paulo Quartieri wrote:
 
 Na verdade o erro foi meu, por descuido coloquei um RES: num assunto novo,
 que era o  'INSTALACAO FREEBSD'.

Não é bem assim: o Res é o de menos. Toda mensagem de e-mail tem um
identificador único e uma das ações do botão de resposta é colocar uma
referência a este identificador no campo In-Reply-To do cabeçalho da
nova mensagem. Os clientes de e-mail ordenam as threads por este campo
de modo que a resposta vai para a thread de origem independentemente
do assunto. Como recurso adicional, alguns clientes são capazes de
reconhecer uma thread por assunto ou por conteúdo (segundo as
preferências do usuário) mas regra geral não muda.

-- 
rollingbits -- rollingb...@gmail.com, rollingb...@terra.com.br
luca...@ig.com.br, rollingb...@yahoo.com, rollingb...@globo.com
Get my public GPG key in http://rollingbits.tripod.com/mykey.html


pgpSNJJPTvWJD.pgp
Description: PGP signature
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] [off] [longo] Pegando datas timestamp em arquivo

2008-07-25 Por tôpico rollingbits (aka Lucas)
On Thu, Jul 24, 2008 at 10:02:05AM -0300, Ederson de Moura wrote:
 Oi Cristiano,

Olá todos,

 Acho que você teria que fazer uma algoritmo para isso, eu tentaria
 fazer algo assim, independentemente da linguagem a ser usada:
 
 1) Leria todo o arquivo e armazenaria os valores em um vetor, que
 fica mais fácil trabalhar depois.

É meio problemático trabalhar com algoritmos genéricos neste tópicio
porque esbarra-se nas limitações das linguagens disponíveis: como
declarar um vetor em sh, por exemplo?

Estando num shell, é mais interessante pensar em termos de
filtros. Por exemplo, se o shell for sh, pode-se redirecionar o
conteúdo do arquivo de tempos para a entrada de um loop while. O while
pode, então, ler uma linha por vez com read e fazer qualquer coisa com
ela, tipo

$ while read l; do echo $l; done  $arquivo

vai fazer o mesmo que

$ cat $arquivo

o que acaba não sendo o problema aqui.

 2) Pega a primeira data timestamp do arquivo.
 
 3) Com a primeira data encontrada. Você teria que encontrar agora
 uma função ou criar uma, que calculasse o intervalo do tempo ate a
 próxima data a ser encontrada, no seu caso os 2 minutos, então
 quando o intervalo da data timestamp for diferente desse tempo, você
 para de ler, e guarda ou escreve essas datas em algum lugar, depois
 lê novamente a próxima data e calcula o intervalo, e assim por
 diante ate chegar ao final do arquivo.
 
 Não estou pensando aqui na questão de desempenho, se você tiver que
 extrair esses dados todos os dias e processar, ai talvez seria
 interessante ler o arquivo recursivamente da data onde parou a
 ultima leitura.

Na verdade, tem duas coisas envolvidas na pergunta (ou duas melhores
soluções, como queira): uma é baseada no que está escrito acima mas,
se o problema fosse tão grande, a pergunda não seria, assim, tão
elementar, né? Tipo,

$ apropos foo

lista todas as páginas manual que incluem referências à foo. A outra
melhor solução está em se achar um método (melhor método) que usa as
coisas (programas, essencialmente) disponíveis para uma resposta
rápida. Fiz um início disto na inserção anterior e nada diz que é
único: foi o primeiro que pensei e certamente me levaria a /uma/
resposta no menor tempo possível, com outras pessoas poderia ser
diferente.

Dessa forma, pode-se considerar que o problema não é, assim, tão
rotineiro a ponto de justificar uma solução como a apresentada no
email do Ederson: já tive diversas oportunidades de usar uma lista
como esta uma única vez. E uma lista grande, por sinal.

 2008/7/23 Cristiano Panvel [EMAIL PROTECTED]:
  Oi, o banco he MySQl versao 3.0, e nem posso pensar em atualizar
  por enquanto...
 
  Tenho uma lista grande com esses valores em timestamp, eu tenho
  que achar o intervalo dessas datas comecando ler pelo comeco do
  arquivo, primeira linha he:
 
  20070925145857.714132
 
  Quando o intervalo da hora mudar de 145857 para 151100 eu paro de
  ler e imprimo essas duas linhas em um algum lugar, porque irei
  precisar desses valores depois, e continou lendo da linha que
  parei ate o final he mais ou menos isso.Nao sei se tem essa opcao
  no MySQL pelo na versao 3 eu nao achei
 
  2008/7/22 Tiago Drumond [EMAIL PROTECTED]:
  [EMAIL PROTECTED] -- Tue, 22 Jul 2008 14:43:50 -0300:
   Cristiano Panvel [EMAIL PROTECTED] -- Tue, Jul 22, 2008 1:03 PM:
  
   Oi pessoal,
   Tenho um arquivo no formato timestamp extraido do banco. Dessa
   forma:
   
   20070925145857.714132
   20070925145859.714131
   20070925145900.714130
   20070925145902.714129
   20070925145904.714129
   20070925145906.714128
   20070925145907.714127
   20070925145909.714126
   20070925151100.714126
   20070925151110.788127
   20070925151200.725128
   
   Eu gostaria que quando o intervalo fosse diferente de 1 minuto
   ele parase de processar, e pegase somente a data de inicio e
   fim.  Ex: 20070925151201.714127, 20070925151201.714127 Alguem
   sabe algum commando ou expressao para fazer isso.

As datas parecem seguir a ordenação little-endian:
mmddhhmmss.ss. Neste ponto minha ajuda fica menos exata: estou
migrando do linux par ao FreeBSD e ainda não tenho todas as respostas
de cabeça. O programa date do linux consegue somar datas e pode ser
usado para resolver o problema; a versão do FreeBSD deve ter recursos
parecidos e, neste caso, também pode ser usada na solução. A outra
alternativa seria decompor a data lida e usar os recursos algébricos
do sh (no meu caso) para se ter uma resposta. De qualquer forma, o
algoritmo não muda muito. Aproveitando-se da notação (observe que isto
não é exatamente óbvio), para saber se o intervalo entre duas datas é
maior que 1 min pode-se somar 1 min na menor (considera-se a notação
na soma) e comparar o resultado com o outro valor (considera-se as
datas como números). Se o valor somado for menor que o outro, o
intervalo é maior que 1 min (só matemática). Sendo criativo, pode-se
decompor as datas de diversas formas: lembro de 2, logo de cara:

$ year=$(echo $data | cut -c1-4)

e

$