The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
egrep syntax fråga DKNUCKLES Shell-programmering och Skript 1 11-18-2007 04:46
Enkel awk Fråga: Om Syntax natdeamer Shell-programmering och Skript 1 09-10-2007 12:53
ännu en awk område syntax fråga prkfriryce Shell-programmering och Skript 4 03-22-2007 01:13
C-skal: variable syntax fråga alex_5161 Sun Solaris 0 01-30-2007 02:43
Fråga: icke-rekursiva hitta syntax alexkav UNIX for Dummies Frågor & Svar 6 03-10-2005 07:46

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-28-2004
hcclnoodles hcclnoodles is offline
Registered User
  
 

Join Date: mars 2002
Inlägg: 272
awk syntax fråga

Hej kan någon förklara vad som händer i följande funktion / uppgift för mig, im just lite förvirrad

kod \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)
)

Denna funktion kallas senare i skriptet genom att använda

awk "$ code"


någon ledning skulle bli mycket uppskattat

skål
  #2 (permalänk)  
Old 10-28-2004
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Registrerad Geek
  
 

Join Date: Dec 2003
Ort: Melbourne, Australien
Inlägg: 2100
kod \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)
)


Rätt, dels är fältet Separator inställd på "," vilket innebär att koden väntar en CSV indatafil (kommaseparerade värden).

Sedan är data från varje post outputted formaterade med printf.

Du kan se att varje formatering karaktär föregås av en% symbol. %-11s betyder skriva ut en sträng kvar motiverat med en 11 tecken brett fält. % S% s% s hjälp Skriv ut tre strängar. % 07.2f: ett 7-siffrigt brett fält med två decimaler (flyttal). % 14s betyder 14 char bred högerjusterad området etc. \ n är ett nyrad. Sedan är alla olika områden som ersätts i stället för% s, etc.

Ett enkelt exempel, printf ( "% s-% s \ n", $ 1, $ 2) skulle leda till det första fältet, ett bindestreck och sedan det andra fältet som ska användas följas av en newline.

substr (string, start, numchars) - t.ex. substr ($ 2,9,2), kommer denna återgång 2 tecken från den 9: e tecknet i det andra fältet i posten.

Om du har manualen sida på ditt system (man awk, men människan gawk är bättre), kommer det förmodligen att förklara mycket tydligare än jag har!

Du borde nog kolla in det här http://www.gnu.org/software/gawk/manual/gawk.html Om du använder GNU awk.

Skål
ZB
  #3 (permalänk)  
Old 10-28-2004
hcclnoodles hcclnoodles is offline
Registered User
  
 

Join Date: mars 2002
Inlägg: 272
Tack
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:54.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0