The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
trenger hjelp til å sortere ali560045 Shell programmering og Skripting 2 12-04-2007 07:38
sortere prasathlogu UNIX for Dummies Spørsmål og svar 1 10-08-2007 07:56
sortere hjelp unics Shell programmering og Skripting 14 04-30-2007 08:28
du-h | sortere? fongthai Shell programmering og Skripting 6 11-02-2006 08:59
Sorter Hjelp! kev112 Shell programmering og Skripting 3 05-30-2005 04: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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 12-06-2007
shotronix shotronix is offline
Registrert bruker
  
 

Bli Dato: desember 2007
Innlegg: 2
sortere og oppsummere

Hei Fyrene,

Jeg har en fil i UNIX med duplikater, har jeg bruker sort kommandoen som nedenfor for å slette duplikater basert på nøkkelposisjoner / kolonner, men nå er jeg ikke ønsker å "slette" duplikater men oppsummere ved KEY numeriske kolonner.

VIRKELIG TRENGER HJELP ... HASTER!

Takk på forhånd.

sort-k 1.1,1.92-u fil> outfile
  #2 (permalink)  
Old 12-06-2007
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Question

Jeg tror ikke sortere betyr det problemfritt ...

Hvis du kan gi et eksempel innspill og et eksempel produksjon som viser hva du ønsker gjort, er det sannsynligvis prosedyrekompatible.
  #3 (permalink)  
Old 12-06-2007
shotronix shotronix is offline
Registrert bruker
  
 

Bli Dato: desember 2007
Innlegg: 2
Her er eksempelet:

1288M99G14 ALA201001 +00000000,000 +00000005,000
1288M99G14 ALA201001 +00000000,000 +00000005,000
1288M99G14 ALB201001 +00000005,000 +00000000,000
1288M99G14 ALA201002 +00000000,000 +00000017,000
1288M99G14 ALB201001 +00000017,000 +00000000,000
1288M99G14 ALA201002 +00000000,000 +00000005,000

Utdata:

1288M99G14 ALA201001 +00000000,000 +00000010,000
1288M99G14 ALB201001 +00000023,000 +00000000,000
1288M99G14 ALA201002 +00000000,000 +00000023,000

Så oppsummere ved først 2 felt
  #4 (permalink)  
Old 12-06-2007
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Post

Ah, så det er tilsammen dem ...

Høres ut som en awk eller perl løsningen ville være veien å gå.
Du kan deretter pipe utgang gjennom slag for å få det rekkefølgen du vil. Du har allerede fått sortere høyre (uten-u selvfølgelig) så jeg skal fokusere på totalt delen ...

Så jeg er ikke stor med awk, vil jeg prøve perl, Wizzes jeg sikker på at en av de awk her kan tilby en løsning for det


Code:
#!/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
Registrert bruker
  
 

Bli Dato: november 2007
Innlegg: 157
Prøv dette en

filename \u003d $ 1
sortere $ filename |
awk 'BEGIN (FS \u003d"+"; prev_key1 \u003d ""; prev_key2 \u003d 0; prev_key2 \u003d 0; første \u003d 1;)
(
# Print "asdfdafsdfsdfasf |" prev_key1 "|" $ 1
hvis ($ 1 \u003d\u003d prev_key1)
(
prev_key2 + \u003d $ 2;
prev_key3 + \u003d $ 3;
)
ellers
(
if (! først)
printf ( "% 20.20s + +% 08.3f% 08.3f \ n", prev_key1, prev_key2, prev_key3);
else første \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
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Sitat:
Originally Posted by ranjithpr View Post
filename \u003d $ 1
sortere $ filename|
awk 'BEGIN (FS \u003d"+"; prev_key1 \u003d ""; prev_key2 \u003d 0; prev_key2 \u003d 0; første \u003d 1;)
...
Den slags må bli smartere, at OP ikke var sortering av det første elementet (men de har det litt arbeide, så jeg bare gikk det ut av løsningen )
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 11:33.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0