[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.
- Re: [shell-script] AWK - Comparar dois arquivos - HELP!!!,
Jose NIEVIADONSKI <=