![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen! |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Sorter fil alfabetisk og numerisk | mrodrig | UNIX for dummyer Spørgsmål & svar | 2 | 05-19-2008 09:46 AM |
| Sorter en fil linje for linje i alfabetisk orden | H2OBoodle | Shell Programmering og Scripting | 11 | 02-11-2008 07:27 AM |
| Hvordan sortere decimal værdier i bash | ahjiefreak | Shell Programmering og Scripting | 1 | 01-21-2008 09:25 AM |
| finde specifikke værdier i en i en fil | Gerry405 | UNIX for dummyer Spørgsmål & svar | 3 | 11-21-2005 11:37 AM |
| Sådan Sorter filer baseret på prædefinerede værdier.? | p_prathaban | Shell Programmering og Scripting | 2 | 02-17-2004 11:39 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd |
Karakter:
|
Display Modes |
|
|
|
||||
|
Hvordan at sortere alfabetisk efter at finde værdier
Jeg har en liste over folk i en skik log og behovet for at udskrive de navne og telefonnumre på personer med over 500 logins. Jeg vil også gerne vise disse navne alfabetisk.
Jeg har deres samlede login indstillet til en variabel med navnet i alt. Hidtil har jeg meget lidt i min awk script til at gøre dette: FS \u003d ":" (if (i alt> 500) print $ 1, $ 2) ($ 1 er både for-og efternavn, $ 2, bliver telefonnummer) Der er mere til scriptet end dette, men ovenstående er den relevante del. Dette kun udskriver en af deres navne desværre, selvom min datafil klart har andre med totaler> 500. Nogen råd eller pointers her? Tak! |
|
||||
|
Lyder på problemet ville være i andre dele af den logik. Er beregnede gang for hele filen, og du kører det igen og igen for hver bruger, eller hvordan du ender op med, at alt?
En almindelig teknik er at holde en række af totaler, når nøglerne er de brugere, så du kun behøver at køre over filen en gang. Code:
awk -F : '{ if (++total[$1] > 500) print $1, $2 }' file
Når du får det til at udskrive, hvad du vil, lige rør, der udgang til sortere. Sidst redigeret af æra; 04-27-2008 på 04:58 PM.. Årsag: Kode eksempel |
|
||||
|
Så du har én række per bruger, ikke en log med en række pr log-in? Du er ikke udskriver i sidste ende erklæring så er du? SLUT kun bliver evalueret en gang, ved slutningen af filen.
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|