[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Atualizando modificações recentes......
From: |
daniel |
Subject: |
Atualizando modificações recentes...... |
Date: |
Tue, 15 Aug 2006 17:40:29 -0300 |
Oi gente,
Agora com o subject devidamente corrigido. Rss...
Subject Anterior ( Tamanho de uma Variavel...)
Seguinte,
Fiz vários testes com o comando 'diff' sugerido pelo Fabiano Caixeta e
com o comando 'comm' sugerido pelo Julio C Neves, para atualizar um
arquivo com as últimas implementações de outro.
Na verdade, o script que tinha aproximadamente 70 linhas com IFs CASEs,
etc... diminuiu drásticamnete.
Transcrevo abaixo o scipt final e peço aos colegas que me ajudem com um
errinho que ainda não descobri porque esta acontecendo...
Imaginem que o arquivo MONITORADO é um LOG da vida e que o arquivo
ADICIONADO ainda não existe..
O script cria o arquivo ADICIONADO e faz toda a importação dos dados do
arquivo MONITORADO.
Até ai tudo bem. Mas se eu rodar o script pela segunda vez logo em
seguida, mesmo que o arquivo MONITORADO não tenha sofrido alterações,
algumas linhas deste são copiadas para o arquivo ADICIONADO.
No meu entender, apenas deveria haver adição no arquivo ADICIONADO das
NOVAS LINHAS do arquivo MONITORADO. Porque estão sendo copiadas linhas
antigas que já haviam sido copiadas ?
Outro ponto é o seguinte. Desejo copiar todas as novas linhas do arquivo
MONITORADO mesmo que algumas delas sejam iguais à linhas copiadas
anteriormente.
Ex :
Em 01/08 : Oi daniel, como está ?'
Nesta data, a linha 'Oi daniel, como está ?' e várias outras são
copiadas para o arquivo ADICIONADO.
Se em 05/08 outra linha com o mesmo conteudo aparecer no arquivo
MONITORADO, ela também deve ser copiada....
------------
MONITORADO=~daniel/Arquivos/Scrpts/Arquivo_Monitorado
ADICIONADO=~daniel/Arquivos/Scripts/Arquivo_Adicionado
[ ! -f $MONITORADO ] && exit
[ ! -f $ADICIONADO ] && touch $ADICIONADO
LIN_ATUL=$(comm -3 $MONITORADO $ADICIONADO | grep ^[a-zA-Z0-9] | wc -l)
comm -3 $MONITORADO $ADICIONADO | grep ^[a-zA-Z0-9] | tee -a $ADICIONADO
echo --- Adicionadas $LIN_ATUL linhas de $(wc -l $MONITORADO | \
cut -d " " -f1) em $(date) | tee -a $ADICIONADO
------------
Atenciosamente,
Daniel Freitas