How to fix this awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to fix this awk
# 15  
Old 06-23-2010
I tried as per your comments by renaming my file to name.awk and called it from a shell by
Code:
sh $base/scripts/name.awk $InputFile

It gives me the below error

Code:
  8754
  8755
  8756  /opt/webapp/rps/scripts/awkMask.awk[31]: Syntax error at line 32 : `{' is not expected.

Script below with the line number for your reference

Code:
    27  #Dynamically determine number of elements in BPR record looking for 10th and 16th element
    28  X="XXXXXXXXXX"
    29  oldFS=FS
    30  FS="\*"
    31  while ( getline < $0 ) {
    32  if ( $0 ~ /^BPR/ ) {
    33       n=length($10)-4
    34       $10=substr(X,1,n) substr($10,n+1)
    35       n=length($16)-4
    36       $16=substr(X,1,n) substr($16,n+1)
    37    }
    38    print > "/tmp/maskBank1fmt"
    39  }
    40  FS=oldFS

# 16  
Old 06-23-2010
You must save this to a file (replace the filename at the end of the code with your own file):
Code:
awk -F\* 'BEGIN{X="XXXXXXXXXX"}
/^BPR/{
  n=length($10)-4
  $10=substr(X,1,n) substr($10,n+1)
  n=length($16)-4
  $16=substr(X,1,n) substr($16,n+1)
}1' OFS="*" file

# 17  
Old 06-23-2010
Can I redirect the output of this to a file something like

Code:
awk -F\* 'BEGIN{X="XXXXXXXXXX"}
/^BPR/{
n=length($10)-4
$10=substr(X,1,n) substr($10,n+1)
n=length($16)-4
$16=substr(X,1,n) substr($16,n+1)
}1' OFS="*" $0 > "/tmp/maskBank1fmt"

# 18  
Old 06-23-2010
Quote:
Originally Posted by Muthuraj K
Can I redirect the output of this to a file something like

Code:
awk -F\* 'BEGIN{X="XXXXXXXXXX"}
/^BPR/{
n=length($10)-4
$10=substr(X,1,n) substr($10,n+1)
n=length($16)-4
$16=substr(X,1,n) substr($16,n+1)
}1' OFS="*" $0 > "/tmp/maskBank1fmt"

Shure, why don't you try it out?
BTW $0 should be $1 if you give the inputfile as parameter like:
Code:
sh conv.awk filename

# 19  
Old 06-23-2010
Yessssss.. I got it.. Thanks a lot Franklin..
# 20  
Old 06-23-2010
Quote:
Originally Posted by Muthuraj K
Yessssss.. I got it.. Thanks a lot Franklin..
Pfff... glad to know you got it working now.Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

awk file subtracted by a fix value - conditioned

Hi all... i have been trying to make this work but I have been failing for 6 hours .. I know it should be something simple that I am missing to it would be great if you can help me ... I want to subtract a fixed value (lets set 1) from any value >=1 from the whole file my file looks like ... (4 Replies)
Discussion started by: A-V
4 Replies

2. Shell Programming and Scripting

awk if condition match and fix print decimal place

Hi All, I have problem in the middle of implementing to users, whereby the complaint is all about the decimal place which is too long. I need two decimal places only, but the outcome from command is always fixed to 6. See the sample : before: Sort Total Site Sort SortName Parts ... (3 Replies)
Discussion started by: horsepower
3 Replies

3. Shell Programming and Scripting

Help me please to fix my error

Can you help me to fix my error please?! I checked the code and I think there is no mistake, but when I run it gives me error such line 1: /Users/Manu/trials/hosts: is a directory sort: open failed: /Users/Manu/trials/hosts/*: No such file or directory Help me please... mycode NAME value.... (9 Replies)
Discussion started by: Manu1234567
9 Replies

4. UNIX for Dummies Questions & Answers

Please help to fix awk script

Good morning, fellows. I would need to ask for your help in editing my awk script. Here is the original version: BEGIN { printf ("CRYST1 200.000 200.000 200.000 90.00 90.00 90.00 P 1 1\n") maxatoms=1000 natom=0 found_struct = 0 found_bond = 0 } { if( NF == 5 ) { foundff=0 natom++... (9 Replies)
Discussion started by: snysmumrik
9 Replies

5. Shell Programming and Scripting

Fix timestamp with Sed or Awk

Hi I am dealing with the following string: Date: Thur, 13 March 2011 01:01:10 +0000 I asked for help in another topic that converted a similar string: Date: Thur, 13 March 2011 9:50 AM To a 24 hr standard. The problem is that it comes out as: Date: Thur, 13 March 2011 9:50:00 +0000... (4 Replies)
Discussion started by: duonut
4 Replies

6. Shell Programming and Scripting

how to fix the column length in a file using Awk Prog

Hi I use the following code to read the file and to fix the length of the column of the record in the file 'Sample.txt' ls Samp* | awk ' { a=$1 } END{ FS="n" for(i=1;i<=NR;i++) { while( getline < a ) { f1=$0; print("Line::",f1); f2=substr(f1,1,10) print("Field1::",f2);... (10 Replies)
Discussion started by: meva
10 Replies

7. Shell Programming and Scripting

how to fix this awk script?

i have a log file while looks like this ++ user_a blabla blabla nas_b blabla user_d this is a user_a junk line another junk line user_c nas_m blabla ++ basically most of the lines contain a "user" keywords, and the rest of the lines do not have "user" at all. So I have the... (17 Replies)
Discussion started by: fedora
17 Replies

8. Solaris

ZFS Help!!! Can I fix this??

Well I got ZFS going almost in version one and didn't have the money to raid it or mirror it. I run off of 7 - 750GB-1TB USB drives and it's run great for over a year. Recently I needed to power off and move some stuff around and when I powered it back on I got this:... (3 Replies)
Discussion started by: lacakid
3 Replies

9. Shell Programming and Scripting

AWK record length fix

Hi Friends, Need some help in AWK. Working on AIX 5 Have been trying the following functionality to make the record length fixed: if( length(record) < 300 ) { printf("%-300s\n", record); } In my opinion it will apply some fillers in the end. Its is not making any... (4 Replies)
Discussion started by: kanu_pathak
4 Replies

10. Shell Programming and Scripting

awk / shell - Fix broken lines and data

Gurus, I am struggling with a issue and thought I could use some of your expertise. Need Help with this I have a flat file that has millions of records 24|john|account ~ info |56| 25|kuo|account ~ journal |58| 27|kim|account ~ journal |59| 28|San|account ~ journal |60|... (3 Replies)
Discussion started by: rimss
3 Replies
Login or Register to Ask a Question