![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
| Skicka värden till den sekundära skriptet när den åberopas av primära script | venu_eie | UNIX för avancerade & Expertanvändare | 2 | 07-03-2008 08:10 |
| Skicka värden till den sekundära skriptet när den åberopas av primära script | venu_eie | Shell-programmering och Skript | 1 | 07-03-2008 07:16 |
| skapa ett shell script som kräver ett annat manus och och en awk script | magikminox | Shell-programmering och Skript | 0 | 06-26-2008 03:50 |
| hjälpa mig med att skicka parametrar från sqlplus manus till Unix shell script | Hara | Shell-programmering och Skript | 2 | 01-29-2008 03:31 |
| Shell Script: vill infoga värden i databasen när uppdateringen skriptet körs | ring | Shell-programmering och Skript | 1 | 10-25-2007 04:06 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Awk script
Jag har skrivit en awk script. Om jag kör det från kommandoprompten med awk-f då det fungerar bra. men då kör samma uttalanden i ett manus och namngivna filen som a1.awk och försökte köra det awk-f a1.awk temp.txt> temp2.txt jag inte fungerar.
Skriptet är så här awk-F "|" BEGIN ( ) (If ($ 4 \u003d\u003d "1") ( Skriv ut "*********" a [$ 3] if (a [$ 3] <$ 6) ( a [$ 3] \u003d $ 7; b [$ 3] \u003d $ 2; ) else if (a [$ 3] \u003d\u003d $ 7) ( if ($ 9 \u003d\u003d 1) ( b [$ 3] \u003d $ 2; ) ) ) nästa; ) Slut ( for (x b) ( print x "|" b [x] ) ) "Temp1.txt> / var/tmp/temp2.txt Ovanstående saker fungerar bra men när jag ställde samma sak i ett script gillar a1.awk och köra scriptet awk-f a1.awk temp1.txt> temp2.txt Ingen produktion är skriven på utdatafilen. Snälla hjälp mig. |
|
||||
|
Du listan arbetsmiljöskydd kod, men inte den kod som har gått sönder gör det lite svårt att få hjälp.Jag ska ge en förenklad, arbeta, t.ex. ... kanske problemet kommer fram till dig? Min indatafil (sk z.in): Kod:
10,ten 3,three 1,one Från kommandoraden: Kod:
cat z.in |awk '{FS=","; sum += $1} END {print sum}'
13
Ställa awk skräp i ett manus. Innehåll i z.awk: Kod:
{FS=","; sum += $1} END {print sum}
och resultatet: Kod:
awk -f z.awk z.in 13 Att det hela i ett manus. Innehåll i z.ksh: Kod:
#!/bin/ksh awk -f z.awk z.in Och att köra den: Kod:
./z.ksh 13 |