![]() |
|
|
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 |
| egrep syntaks spørsmålet | DKNUCKLES | Shell programmering og Skripting | 1 | 11-18-2007 04:46 |
| Enkelt awk Spørsmål: Hvis Syntaks | natdeamer | Shell programmering og Skripting | 1 | 09-10-2007 01:53 |
| enda en awk feltet syntaks spørsmålet | prkfriryce | Shell programmering og Skripting | 4 | 03-22-2007 01:13 |
| C-shell: variable syntaks spørsmålet | alex_5161 | Sun Solaris | 0 | 01-30-2007 02:43 |
| Spørsmål: ikke-Rekursiv finne syntaks | alexkav | UNIX for Dummies Spørsmål og svar | 6 | 03-10-2005 07:46 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
awk syntaks spørsmålet
Hei kan noen forklare hva som skjer i følgende funksjon / setning for meg, im bare litt forvirret
kode \u003d 'BEGIN (FS \u003d","} ( printf ( "%-11s,% s% s% s,% 07.2f,% 14s,%-3s \ n", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) Denne funksjonen kalles senere i skriptet ved å bruke awk "$ code" noen veiledning vil bli verdsatt skål |
|
|||||
|
kode \u003d 'BEGIN (FS \u003d","}
( printf ( "%-11s,% s% s% s,% 07.2f,% 14s,%-3s \ n", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) Høyre, for det første, er Field Separator satt til ", som betyr at koden venter en CSV inndatafilen (kommaseparert verdier). Deretter blir dataene fra hver post outputted, formatert av printf. Du kan se at hver formatering tegn kommer etter et% symbol. %-11s betyr ut en streng venstrejustert i en 11 tegn bredt felt. % S% s% s betyr ut tre strenger. % 07.2f betyr en 7-sifret bredt felt til to desimaler (floating point number). % 14s betyr 14 røye bredt høyre rettferdiggjort feltet, osv. \ n er et newline. Da er alle de ulike feltene erstattes i stedet for% s, etc. Et enkelt eksempel, printf ( "% s-% s \ n", $ 1, $ 2) ville føre til det første feltet, en bindestrek og deretter det andre feltet skal sendes ut etterfulgt av en linje. substr (string, start, numchars) - f.eks substr (2,9,2 $), vil denne avkastningen 2 tegn fra den 9. karakter av andre feltet i posten. Hvis du har manuelle siden på systemet ditt (mann awk, men mannen gawk er bedre), vil det sannsynligvis forklarer at mye tydeligere enn jeg har! Du bør nok sjekke dette ut http://www.gnu.org/software/gawk/manual/gawk.html Hvis du bruker GNU awk. Skål ZB |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|