The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Mesclar arquivos texto enquanto combinando os múltiplos cabeçalho / reboque registros em cada uma. oordonez Programação Shell Script e 4 11-17-2008 11:06
Qual é a sua idade? (Parte 2) Perderabo What's on Your Mind? 37 07-20-2007 12:27
Contagem N º de registros em arquivo, sem contar Header e Trailer Records guiguy Programação Shell Script e 2 06-07-2007 12:15
Ajuda comparar 2 ficheiros para encontrar registros apagados EJA UNIX para Dummies Perguntas & Respostas 2 04-03-2007 08:53
Como extrair registros duplicados associados cabeçalho recorde run_eim UNIX para Dummies Perguntas & Respostas 17 01-16-2007 11:46

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 12-02-2008
cmaroju cmaroju is offline
Usuário
  
 

Join Date: Nov 2008
Lugares: 19
comparando parte do cabeçalho com a parte de registros detalhados.

Oi lá,

Lil estou confuso com o seguinte problema.

Tenho um arquivo, que tem o seguinte cabeçalho: IMSHRATE_043008_101016

um registo detalhado amostra é:9820101 A982005000CAVG030108000000000000010169000MAR 2008
9820102 MAR 2008 D030108


Eu preciso comparar a parte do cabeçalho (que é destacado em vermelho e as suas letras um formato DDMMAA) com o Parte do registo detalhado (destacada em amarelo a sua fonte e também o seu formato DDMMAA).

O problema é que existem milhares de tais registos pormenorizados (em uma média de 50.000 registros) em um único arquivo. Alguém pode ajudar-me a comparar os "parte do cabeçalho" com a "parte do registo detalhado" em highlightened Vermelho e Amarelo font no exemplo acima?


Atenciosamente,
Cmaroju
  #2 (permalink)  
Old 12-02-2008
summer_cherry summer_cherry is offline Forum Advisor  
Usuário
  
 

Join Date: Jun 2007
Localização: Beijing China
Mensagens: 1.082
Oi,

É o amarelo secção realçada é fixado em pormenor todas as suas linhas?

de qualquer forma, abaixo perl pode ajudá-lo um pouco

entrada (a.txt):
Código:
IMSHRATE_043008_101016
9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
Saída:
Código:
MSHRATE_043008_101016
9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
Smaller than header
9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
Bigger than header
9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108
Equal with header
código:
Código:
open FH,"<a.txt" or die "Can not open file\n";
my @arr=<FH>;
close FH;
$arr[0]=~m/(.*)_([0-9][0-9])([0-9][0-9])([0-9][0-9])_(.*)/;
$header=$4.$2.$3;
print $arr[0];
for($i=1;$i<=$#arr;$i++){
	my @temp=split(" ",$arr[$i]);
	$temp[2]=~m/([0-9][0-9])([0-9][0-9])([0-9][0-9])/;
	my $body=$3.$1.$2;
	print $arr[$i],($body>$header)?"Bigger than header\n":($body==$header)?"Equal with header\n":"Smaller than header\n";
}
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 04:15.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0