The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar
.
google unix.com



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
sed query gopsman Shell-programmering och Skript 4 02-03-2009 02:41
& I SQL-query Lindarella Shell-programmering och Skript 3 10-09-2006 05:43
Sökfråga i awk raguramtgr UNIX for Dummies Frågor & Svar 1 08-27-2004 12:00
RPM Query silvaman UNIX för avancerade & Expertanvändare 1 08-15-2003 08:56

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 08-31-2004
raguramtgr raguramtgr is offline
Registered User
  
 

Join Date: Jan 2004
Plats: Chennai, Indien
Inlägg: 47
Query i awk

filen "batsmen" innehåller

Bradman, Australien, 52, 6996
Gavaskar, Indien, 124, 10122
Blir nyktrare, West; Indies, 93, 8032
Border, Australien, 109, 8075
Miandad, Pakistan, 97, 7121
Gower, England, 94, 7023
Bojkott, England, 108, 8114

Min awk manus innehåller

awk '(FS \u003d";"}
(len \u003d längd ($ 1));
(printf ( "% s% d \ n"), $ 1, len) 'batsmen

När jag kör skriptet jag få ett resultat som dessa

Bradman, Australien, 52, 6996 25
Gavaskar 8
Blir nyktrare 6
Border 6
Miandad 7
Gower 5
Bojkott 7

Jag behöver den första raden som "Bradman 7" men det fungerar inte med det här skriptet.

Vad ska jag göra för att rätta till detta. Mer än då att använda "BEGIN och END"

svar uppskattas.

raguram r
  #2 (permalänk)  
Old 08-31-2004
google's Avatar
google google is offline Forum Advisor  
Moderator
  
 

Join Date: Jul 2002
Plats: Atlanta
Inlägg: 740
Använd BEGIN och END när du vill ha beloppet för behandling förekomma innan eller efter någon fil behandling har förekommit. Den kod som är i BEGIN uttalande kommer att genomföras precis 1 Temne, och det kommer att genomföras före den fil du bearbetning öppnas. På samma sätt koden till slut blockera körs exakt 1 temne och det sker efter all kod i målet programmet har körts.

Använd BEGIN uttalande exempelvis för att skriva ut en rapport Header och använda en Slut uttalande att skriva ut rapporten sidfot.

Din kod:

awk '(FS \u003d";"}
(len \u003d längd ($ 1));
(printf ( "% s% d \ n"), $ 1, len) 'batsmen

Du får en utskrift av filer innehållet eftersom Awks standardåtgärden är att skriva ut.

Använda BEGIN / END kan du ändra din kod på följande sätt:

awk 'BEGIN (FS \u003d "") (printf ( "% s% d \ n", $ 1, längd ($ 1))) END (printf ( "File Processing Complete \ n"))' batsmen

gawk Manuell är en stor källa för awk information.

Senast ändrad av Google; 08-31-2004 vid 08:25..
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 05:31.


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