The UNIX and Linux Forums  

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
Sed Ajuda na actualização algo apenas em um arquivo específico. bisla.yogender Programação Shell Script e 4 03-24-2008 11:48
Para saber se o arquivo está atualizando ou não raj333 Programação Shell Script e 2 11-05-2007 05:29
Atualizando arquivo em loop braindrain Programação Shell Script e 4 06-20-2007 02:37
Porque não é meu sar actualizar o ficheiro de saída. skneeli UNIX & avançada para usuários experientes 1 11-12-2006 08:29
Atualizando um arquivo em um arquivo Zip dbridle AIX 6 09-27-2006 04:29

 
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 06-09-2008
Mecano mecano is offline
Usuário
  
 

Join Date: Jun 2008
Posts: 4
awk atualizar um arquivo com outro, a comparação, a actualização

Olá,
Eu li e pesquisa através deste maravilhoso fórum e tentou diferentes abordagens, mas parece que falta algum conhecimento e neurônios ^ ^

Aqui está o que eu estou tentando alcançar:

ficheiro1:
teste filea 3495;
teste fileb 4578;
teste filec 7689;
teste filey 9978;
teste filez 12300;

ficheiro2:
teste filea 3495;
teste arquivada 4578;
teste filec 7689;
teste filex 8978;

resultados:
teste filea 3495;
teste arquivada 4578;
teste filec 7689;
teste filex 8978;
teste filey 9978;
teste filez 12300;

em comparação com base no último campo (domínio $ 3), novos conteúdos de ficheiro2 (conteúdo aqui com "chave" 8978 é novo) deve ser adicionado ao resultado final e de conteúdo que é diferente em ficheiro2 (teste arquivada 4578; aqui) deve substituir um ficheiro1 .

aqui é onde eu estou agora:

awk '(key \u003d $ NF NF; chaves [key] + +) \u003d\u003d NR FNR key1 ([key] \u003d $ NF SRO; rec1 [key] \u003d $ 0 SRO; próxima key2) ([key] \u003d $ NF SRO; rec2 [key] \u003d $ 0 SRO; próxima) END (for (k em chaves) (if (key1 [k] \u003d\u003d key2 [k]) (print rec2 [k]) else (print rec1 [k]))) ' ficheiro1 $ $ ficheiro2> $ file1.updated

para facilitar a leitura:

awk '
NF
(
key \u003d $ NF;
chaves [key] + +
)
NR \u003d\u003d FNR
(
key1 [key] \u003d $ NF SRO;
rec1 [key] \u003d $ 0 SRO;
próximo
)
(
key2 [key] \u003d $ NF SRO;
rec2 [key] \u003d $ 0 SRO;
próximo
)
FIM
(
para (k em chaves)
(
if (key1 [k] \u003d\u003d key2 [k])
(
imprimir rec2 [k]
)
diferente
(
imprimir rec1 [k]
)
)
) '
ficheiro1 $ $ ficheiro2> $ file1.updated

mas .. isto não funciona assim: /
 

Marcadores

Tags
solaris

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 02:46.


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