The UNIX and Linux Forums  

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
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

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 11-18-2008
siba.s.nayak siba.s.nayak is offline
Registered User
  
 

Join Date: juni 2007
Inlägg: 166
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.
  #2 (permalänk)  
Old 11-18-2008
Diabolist Diabolist is offline
Registered User
  
 

Join Date: mars 2002
Inlägg: 44
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

  #3 (permalänk)  
Old 11-18-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.345
Placera koden i ett manus, göra den körbar och köra det som:


Kod:
./scriptname

Skriptet bör se ut så här:


Kod:
#!/bin/sh

awk -F'|' '
BEGIN{... }
}
.
# Your code
.
{ 
' temp1.txt> /var/tmp/temp2.txt

Hälsningar
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 07:48.


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