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

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

Re: [shell-script] AWK - Comparar dois arquivos - HELP!!!


From: Jose NIEVIADONSKI
Subject: Re: [shell-script] AWK - Comparar dois arquivos - HELP!!!
Date: Thu, 6 Feb 2003 13:15:51 -0300

Algumas perguntas antes de tentar resolver?

1. Essa comparação é em todas as linhas do arquivo ou somente na primeira
linha????????

2. As condições abaixo são uma OU outra ou uma E outra

3. Como dever ser o layout do arquivo de saida??????


José Augusto Martins Nieviadonski
Analista de Sistemas Consultor
HSBC Bank Brasil S.A. - Banco Múltiplo
Treinamento de informática
Fone : 41 340-5378 - Fax : 41 340-5011


                          
                          
                          
                          
                          
                          
                          


 Enviado Por :    "ldaluz2002" <address@hidden> - 06/02/03 13:01
         Responder a shell-script

 Para:   address@hidden
 cc:     (cco: Jose NIEVIADONSKI/HBBR/HSBC)
 Assunto:   [shell-script] AWK - Comparar dois arquivos - HELP!!!


Estou tentando montar um shell  que devera ler dois arquivos e
comparar seus conteudos da seguinte forma:
1)
A substring na posicao 21 tamanho 65 do arquivo 1 será igual a
substring na posicao 21 tamanho 65 do arquivo 2

2)A substring na posicao 21 tamanho 21 do arquivo 1 será igual a
substring na posicao 21 tamanho 21 do arquivo 2
E a substring na posicao 59 tamanho 20 do arquivo 1 será igual a
substring na posicao 59 tamanho 20 do arquivo 2
Alem de o valor absoluto na posicao 42 a 58 do arquivo 1 subtraido
do valor absoluto na posicao 42 a 58 do arquivo 2 tera que ser menor
ou igual a uma variavel.

Complicado!? Pois estou desde terca (04/02) nisto e estou jogando a
toalha, mas antes resolvi consulta-los.

O que tenho pronto:

#
#--------------Inicio do processo ---------#
#
clear
#Verifica se ha arquivo cliente

if [ -f cdr_cliente_conciliar_*.txt ] then
#
#verifica se ha arquivo prestadora
    if [ -f cdr_prestadora_conciliar_*.txt ] then
#
#Se nao houver uma pasta para gravar os conciliados, criar uma
         if [ ! -d conciliado ] then
             mkdir conciliado
             chmod 777 conciliado
         fi
#
# identifica nomes dos arquivos para batimento
          vcliente='ls|grep cdr_cliente_conciliar_*.txt'
       vprestadora='ls|grep cdr_prestadora_conciliar_*.txt'
##
#
#Batimento - Etapa 1
#
awk 'BEGIN {
       awk '{ vclie1=substr($o,21,65) }' $vcliente
       awk '{ vpres2=substr($o,21,65) }' $vprestadora
       if vclie1 = vpres2
         { print substr($o,11,10) $vcliente >> resultado.txt
          print substr( $o,11,10) $vprestadora >> resultado.txt
}'

---------------------------------------------------------------------
Sei que o shell acima nao funciona e preciso de ajudo:
Como eu consigo identificar dados do arq1 e do arq2.
E como eu consigo gravar de uma soh vez o field do arq1 ao lado do
do field arq2 em um mesmo arquivo resultado.
Como eu posso fazer uma operacao matematica numa comparacao.

Se alguem conseguir me ajudar, pode me cobrar o chopp (Rio ou
Brasilia - Demais estados via Sedex :'))

Grata
L da Luz



---------------------------------------------------------------------
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.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html









This E-mail confidential. It may also be legally privileged. If you are not the 
addressee you may not copy, forward, disclose or use any part of it. If you 
have received this message in error, please delete it and all copies from your 
system and notify the sender immediately by return E-mail.
Internet communications cannot be guaranteed to be timely, secure, error or 
virus-free. The sender does not accept liability for any errors or omissions.
 
Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você 
não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode 
usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação 
baseada nessas informações. Se você recebeu esta mensagem por engano, por favor 
avise imediatamente o remetente, respondendo o e-mail e em seguida apague-o.
Comunicações pela Internet não podem ser garantidas quanto à segurança ou 
inexistência de erros, ou contendo vírus. O remetente por esta razão não aceita 
responsabilidade por qualquer erro ou omissão no contexto da mensagem 
decorrente da transmissão via Internet.



reply via email to

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