![]() |
|
|
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 |
| Flere felt skilletegnene i awk? (Første et mellomrom, og deretter et kolon) | doubleminus | UNIX for Dummies Spørsmål og svar | 3 | 04-27-2008 04:28 |
| Jeg trenger hjelp telle felt og felt skilletegnene bruker Nawk | scrappycc | Shell programmering og Skripting | 3 | 02-06-2008 11:47 |
| kan du viderekobler flere filer for skriving? | Matrix_Prime | UNIX for Dummies Spørsmål og svar | 4 | 02-27-2005 07:07 |
| Awk flere Felt Skilletegn | Tonka52 | Shell programmering og Skripting | 7 | 04-07-2004 10:37 |
| Utdata flere felt fra databasefilen | Dennz | UNIX for Dummies Spørsmål og svar | 3 | 09-01-2003 01:41 |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
||||
|
Jeg så et par av innleggene her refererer hvordan de skal håndtere mer enn ett inndatafeltet skilletegn i awk. Jeg tenkte jeg skulle dele hvordan jeg (rettferdig!) Funnet ut hvordan du aktiverer denne linjen i en logfile:
90000000000000000000010001 navn D0.90000000000103787900010001QF840840916070000007085814Y216254 @ D1111111111111111 \u003d 1107xxxxxxxxxxxxxxx x919MENCHIES inn i dette formatet: 90000000000000000000010001, navn, 840840916070000007085814Y216654, 1111111111111111,1107,919 MENCHIES Jeg har en hel script siden dette er bare ett skritt i en prosess med å snu logger seg nyttig informasjon, men her over den aktuelle delen. # Author: kinksville # Date: 24 april 2008 # Revidert: 24 april 2008 # Revisjon: 1.00 Revisjon # Andre filer: cclookup.s, cclookup.rep # Changelog: # 24 april 2008: Innledende opprettelsen av skriptet. # # End changelog. BEGIN ( FS \u003d "[\. QF \ @ D \u003d x] +" OFS \u003d "" ) # Første gjennomkøyring av @ D søket, stripping ut. karakter og setter inn en OFS. / \ @ D / (# Søk etter alle linjer som inneholder strengen @ D report2 \u003d "cclookup.rep2"; # Definer report2 variabel. Rapporten \u003d "cclookup.rep"; # Definer rapport variabel. num_cclookup + +; # Få antall auth forespørsler. print $ 1, $ 2, $ 5, $ 6, $ 7, $ 8> rapport; print $ 0> report2; ) # End of the @ D søket. Nøkkelen er at awk vil godta et regulært uttrykk som file separator. Dette regexp FS \u003d "[\. QF \ @ D \u003d x] +" kamper mellomrom,. strengen KF, strengen @ D, \u003d, og tegnet x. Den + etter den etterfølgende braketten er nøkkelen, siden det gir mulighet for 1 eller flere forekomster av noen av tegnene matchet av regulært uttrykk. Det betyr at x og xxxxxx er begge behandles som ett enkelt felt separator. Jeg fortsatt må jobbe med resultatet, siden nå jeg trenger å trimme navnet bort fra slutten av det siste feltet. Dessverre nummeret i det siste feltet kan variere alt fra 9999999 til 1 og som er den delen som jeg ønsker å bevare. Kanskje en [^ 0-9] + uttrykk? |
| Hugseliste |
| Tags |
| awk, awk trim, trim, trim awk |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|