![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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 |
|
|||||
|
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.. |