The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
egrep syntaks spørgsmål DKNUCKLES Shell Programmering og Scripting 1 11-18-2007 04:46 PM
Simpelt Awk Spørgsmål: Hvis Syntaks natdeamer Shell Programmering og Scripting 1 09-10-2007 01:53 PM
endnu et awk område syntaks spørgsmål prkfriryce Shell Programmering og Scripting 4 03-22-2007 01:13 PM
C-shell: variable syntaks spørgsmål alex_5161 Sun Solaris 0 01-30-2007 02:43 PM
Spørgsmål: ikke-rekursiv finde syntaks alexkav UNIX for dummyer Spørgsmål & svar 6 03-10-2005 07:46 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 10-28-2004
hcclnoodles hcclnoodles is offline
Registreret Bruger
  
 

Join Date: Mar 2002
Posts: 272
awk syntaks spørgsmål

Hej der kunne nogen forklare, hvad der sker i de følgende funktion / erklæring for mig, im bare lidt 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 funktion kaldes senere i scriptet ved hjælp af

awk "$ kode"


nogen vejledning ville blive værdsat meget

skål
  #2 (permalink)  
Old 10-28-2004
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Registreret Geek
  
 

Join Date: Dec 2003
Location: Melbourne, Australien
Stillinger: 2100
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)
)


Ret, for det første feltseparator er indstillet til "," hvilket betyder, at koden forventer en CSV-input-fil (kommaseparerede værdier).

Derefter data fra hver record er outputted, formateret med printf.

Du kan se, at hver formatering karakter indledes med en% symbol. %-11'ere betyder udskrive en streng venstre begrundet i en 11 karakter bredt område. Den% s% s% s betyder udskrive tre strenge. % 07.2f betyder en 7-cifret bredt felt med to decimaler (floating point-tal). % 14s betyder 14 char bred højrejusteret område osv. \ n er en ny linje. Så, alle de forskellige områder er substitueret i stedet for% s, osv.

Et simpelt eksempel, printf ( "% s-% s \ n", $ 1, $ 2) ville forårsage det første felt, en bindestreg, og derefter det andet felt, der skal produktionen efterfulgt af en ny linje.

substr (string, start, numchars) - f.eks substr ($ 2,9,2), vil denne tilbagevenden 2 karakterer fra 9. karakter af det andet felt af posten.

Hvis du har manualen side på dit system (mand awk, men manden gawk er bedre), vil det sandsynligvis forklare, at meget klarere, end jeg har!

Du bør nok tjekke denne ud http://www.gnu.org/software/gawk/manual/gawk.html hvis du bruger GNU awk.

Skål
ZB
  #3 (permalink)  
Old 10-28-2004
hcclnoodles hcclnoodles is offline
Registreret Bruger
  
 

Join Date: Mar 2002
Posts: 272
ThankYou
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:54 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0