![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
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 |
|
||||
|
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 |
|
||||
|
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);) |
|
|||||
|
Sitat:
) |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|