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
precisam de ajuda em espécie ali560045 Programação Shell Script e 2 12-04-2007 07:38
tipo prasathlogu UNIX para Dummies Perguntas & Respostas 1 10-08-2007 06:56
ordenar ajudar unics Programação Shell Script e 14 04-30-2007 07:28
du-h | sort? fongthai Programação Shell Script e 6 11-02-2006 08:59
Classificar Help! kev112 Programação Shell Script e 3 05-30-2005 03:13

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-06-2007
shotronix shotronix is offline
Usuário
  
 

Join Data: dezembro 2007
Posts: 2
classificar e resumir

Oi Pessoal,

Eu tenho um arquivo no UNIX com duplicatas, eu uso tipo comando como a seguir para eliminar duplicados baseada na CHAVE posições / colunas, mas agora não quero "apagar" duplicados, mas resumir pelo CHAVE numérico colunas.

Realmente precisam de ajuda ... URGENTE!

Thanks in advance.

sort-k 1.1,1.92-u arquivo> OUTFILE
  #2 (permalink)  
Old 12-06-2007
Smiling Dragon's Avatar
Sorridente Dragão Smiling Dragon is offline Forum Advisor  
Desorganizada Usuário
  
 

Join Date: Nov 2007
Localização: Nova Zelândia
Lugares: 922
Question

Não creio que isso espécie nativa ...

Se você pode fornecer um exemplo de entrada e uma saída exemplo mostrando o que você quer fazer, ele é provavelmente scriptable.
  #3 (permalink)  
Old 12-06-2007
shotronix shotronix is offline
Usuário
  
 

Join Data: dezembro 2007
Posts: 2
Aqui está o exemplo:

1288M99G14 ALA201001 00.000.000,000 00.000.005,000
1288M99G14 ALA201001 00.000.000,000 00.000.005,000
1288M99G14 ALB201001 00.000.005,000 00.000.000,000
1288M99G14 ALA201002 00.000.000,000 00.000.017,000
1288M99G14 ALB201001 00.000.017,000 00.000.000,000
1288M99G14 ALA201002 00.000.000,000 00.000.005,000

Saída:

1288M99G14 ALA201001 00.000.000,000 00.000.010,000
1288M99G14 ALB201001 00.000.023,000 00.000.000,000
1288M99G14 ALA201002 00.000.000,000 00.000.023,000

Então resumir por 2 primeiros campos
  #4 (permalink)  
Old 12-06-2007
Smiling Dragon's Avatar
Sorridente Dragão Smiling Dragon is offline Forum Advisor  
Desorganizada Usuário
  
 

Join Date: Nov 2007
Localização: Nova Zelândia
Lugares: 922
Post

Ah, então é total deles ...

Soa como um awk ou perl solução seria o caminho a percorrer.
Você pode, então, a saída através da canalização para obter qualquer tipo ordem que quiser. Você já tem o tipo direito (sem o-u, claro) para que eu vou focar a parte totalizando ...

Como eu não sou grande com awk, I'll try perl, Eu tenho certeza que um dos awk wizzes por aqui pode-se oferecer uma solução para esse

Código:
#!/bin/perl -w

while (<>) {
  ($name,$left,$right)=split(/\+/);
  $vals{$name}{"left"}+=$left;
  $vals{$name}{"right"}+=$right;
}

foreach $name (keys %vals) {
  printf "%s\+%012.3f\+%012.3f\n",${name},$vals{$name}{'left'},$vals{$name}{'right'};
}
  #5 (permalink)  
Old 12-07-2007
ranjithpr ranjithpr is offline
Usuário
  
 

Join Date: Nov 2007
Lugares: 157
Experimente esta uma

filename \u003d $ 1
tipo $ filename |
awk 'BEGIN (FS \u003d"+"; prev_key1 \u003d ""; prev_key2 \u003d 0; prev_key2 \u003d 0; primeiro \u003d 1;)
(
# Print "asdfdafsdfsdfasf |" prev_key1 "|" $ 1
if ($ 1 \u003d\u003d prev_key1)
(
prev_key2 + \u003d $ 2;
prev_key3 + \u003d $ 3;
)
diferente
(
if (! primeiro)
printf ( "% 20.20s + +% 08.3f% 08.3f \ n", prev_key1, prev_key2, prev_key3);
else primeiro \u003d 0;
prev_key1 \u003d $ 1;
prev_key2 \u003d $ 2;
prev_key3 \u003d $ 3;
)
)
END (printf ( "% 20.20s + +% 08.3f% 08.3f \ n", prev_key1, prev_key2, prev_key3);) '
  #6 (permalink)  
Old 12-09-2007
Smiling Dragon's Avatar
Sorridente Dragão Smiling Dragon is offline Forum Advisor  
Desorganizada Usuário
  
 

Join Date: Nov 2007
Localização: Nova Zelândia
Lugares: 922
Citação:
Originally Posted by ranjithpr View Post
filename \u003d $ 1
tipo $ filename|
awk 'BEGIN (FS \u003d"+"; prev_key1 \u003d ""; prev_key2 \u003d 0; prev_key2 \u003d 0; primeiro \u003d 1;)
...
A espécie necessita de ser mais inteligente, o OP não se classificar pelo primeiro elemento (mas eles têm que trabalhar tão pouco Eu só deixou de fora a solução )
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:08.


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