awk question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk question
# 1  
Old 09-23-2008
awk question

Hi,
I trying my first awk script.
I have this:

my code file:
Code:
#!/usr/bin/ksh
BEGIN{FS=","}
{if(FILENAME=="indata.txt") {L=1}}
END{print $1","$2","$3","L","$0}

my example file:
Code:
1,2v3,4,5 
#,2,3,4,5,6,78,9

i got this error:
Code:
 
 syntax error The source line is 3.
 The error context is
 <<<             >>> BEGIN{FS=","}
 awk: Quitting
 The source line is 3.

I tried to run a lot of different codes i always got error in the BEGIN line.
Can someone please tell me what is the error?

sorry for such a basic question but I'm in a rush to do something and probably I'm focusing on the wrong point.


Thanks,
Ricardo Tomás
# 2  
Old 09-23-2008
i think u missed awk ' keyword

eg:

awk 'BEGIN { FS = "=" } {ORS = "~"} {if ($1=="END-PROCESS-DESCRIPTION-RECORD") {print "\n"}} { print $2}'
# 3  
Old 09-23-2008
awk keywork

I use it in command line when i do :
Code:
 awk -f gather_files.awk indata.txt

shouldn't this be enought?
# 4  
Old 09-23-2008
work arround

I made it working.
I'm doing like this:
Code:
#!/usr/bin/ksh

gzcat *common* | awk '  
BEGIN { FS = "," } ;
{if(isnum($1)) {imsi=$1}{imsi="xpto"}}
END{print imsi",1,"$0}
function isnum(n) { return n ~ /^[+-]?[0-9]+$/ }
' > final

now i just need to implement my logic! i still have 3 hours to do that.
lets hope i get it.
# 5  
Old 09-23-2008
Don't post homework questions on the forum. Please read our rules.
# 6  
Old 09-23-2008
question

this is not a homework question.
This a a work question that I'm trying to solve.
I don't understand almost nothing about Linux, thats why i asked this. it can look dummy but is not homework.
I have to fix a performance issue reading:
-6 different files.
-Each file splited in 23 parts.
total line: around 800.000.000
i tunned everything excepts the input file.
I measure some times and i think i will get an improvement creating a manipulated input file.

maybe it would be nicer if you ask before posting a comment like that without knowing.

I hate when people assumes some things without checking if that is true.
thanks for you bad comment.
# 7  
Old 09-23-2008
It is my job here on the forums. I close about 5 homework threads every day - your comment about three hours left is what triggered the response. Sorry.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk question : system output to awk variable.

Hi Experts, I am trying to get system output to capture inside awk , but not working: Please advise if this is possible : I am trying something like this but not working, the output is coming wrong: echo "" | awk '{d=system ("date") ; print "Current date is:" , d }' Thanks, (5 Replies)
Discussion started by: rveri
5 Replies

2. Homework & Coursework Questions

awk question.

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: im using ls -l | xargs | awk '{what ever files here}' im trying to get something that looks like this... (7 Replies)
Discussion started by: rontopia
7 Replies

3. UNIX for Dummies Questions & Answers

Basic awk question...getting awk to act on $1 of the command itself

I have a script problem that I am not able to solve due my very limited understanding of unix/awk. This is the contents of test.sh awk '{print $1}' From the prompt if I enter: ./test.sh Hello World I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Discussion started by: JasonHamm
2 Replies

4. UNIX for Dummies Questions & Answers

awk question

Can anyone help with this this one liner: nawk -v RS='' '$1=$1' InputFile What I have in the file: 0.0013985457223116 -0.0002338180925628 0.0 0.0003709430584958 -0.0005763523138347 0.0 And the output I want: 0.0013985457223116 -0.0002338180925628 0.0 0.0003709430584958... (1 Reply)
Discussion started by: mookie123
1 Replies

5. UNIX for Dummies Questions & Answers

awk question

Hi, in the following script, what does " a=$0} END " mean ? do we need that ? Thanks awk '{a=$0} END {for (i=NR; i>=1; i--) print a}' file (3 Replies)
Discussion started by: james94538
3 Replies

6. Shell Programming and Scripting

Awk Question

How I can rid of the following presentation du -sk /u*/oradata/TEST/*.dbf |awk '{print total+=$1} 1.28003e+06 4.35109e+06 4.36134e+06 4.4535e+06 5.47752e+06 5.48777e+06 7.52554e+06 7.73036e+06 9.06158e+06 :confused: thank you (3 Replies)
Discussion started by: zam
3 Replies

7. Shell Programming and Scripting

awk question

I am trying to read through a file, gather the states in that file and change it from an abbreviation to the ful text. Can anyone provide some assistance. Thanks!! (4 Replies)
Discussion started by: cnitadesigner
4 Replies

8. Shell Programming and Scripting

awk .. question?

i have a little awk script that I use looks this: awk '{if (FNR==1){print FILENAME; print $0}else print $0}' file1...file2....fi... > bundled. i have completely forgotten how to unbundle this. I have tried several different approaches and still can not remember how to unbundle the file bundled.... (2 Replies)
Discussion started by: moxxx68
2 Replies

9. Shell Programming and Scripting

One more awk question!

Hello, I have the following command that does 2 searches. awk '{if ($0 ~ /STRING1/) {c++} }{if ( c == 2 ) {sub(/STRING1/,"NEWSTRING") } } { print }' FILE How do I search up after the first search? thanks (4 Replies)
Discussion started by: ctcuser
4 Replies

10. Shell Programming and Scripting

awk question

I have the following error: ls -lt | awk 'BEGIN NR > 1 { print $2, $9 }' Syntax Error The source line is 1. The error context is BEGIN >>> NR <<< > 1 { print $2, $9 } awk: 0602-500 Quitting The source line is 1. What I want to do is ls a directory, skip the first... (3 Replies)
Discussion started by: lesstjm
3 Replies
Login or Register to Ask a Question