nawk variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting nawk variables
# 1  
Old 03-21-2011
nawk variables

Hi - The following nawk is not working and trying to understand why!
Code:
nawk -v t="internal_order" '/SAP_RM_ADMIN_SCHEMA/  && ("[.]" toupper(t)) || /SAP_RM_ADMIN_SCHEMA/ && ("[.]" tolower(t))' PBFD100.ksh

My intention is to retrieve the line containing SAP_RM_ADMIN_SCHEMA.internal_order but its just not understanding my variable t, whats wrong here ???....

Please correct this, thanks.
Anduzzi.

Last edited by Franklin52; 03-23-2011 at 05:01 AM.. Reason: Please use code tags
# 2  
Old 03-21-2011
I'd do it like this:

Code:
nawk -v t="internal_order" '$0 ~ "SAP_RM_ADMIN_SCHEMA.(" toupper(t)  "|" tolower(t) ")"' PBFD100.ksh

are you sure this won't get what your after:
Code:
nawk -v t="internal_order" 'toupper($0) ~ "SAP_RM_ADMIN_SCHEMA." toupper(t)' PBFD100.ksh

# 3  
Old 03-22-2011
Thanks for the inputs, but both options didn't get what I want !
Do you know whats missing in here ?.

To re-iterate, I want the occurence of "internal_order' and SAP_RM_ADMIN_SCHEMA and this is just an example, I have a loop that takes a set of 10 tables to parse against 10 different schemas.

So this working piece of nawk is a vital block for me.

Thanks.
# 4  
Old 03-22-2011
Working fine with my simple test file:

Code:
$ cat PBFD100.ksh
Match this: SAP_RM_ADMIN_SCHEMA.internal_order
not this
and this too: SAP_RM_ADMIN_SCHEMA.INTERNAL_ORDER

$ nawk -v t="internal_order" 'toupper($0) ~ "SAP_RM_ADMIN_SCHEMA." toupper(t)' PBFD100.ksh
Match this: SAP_RM_ADMIN_SCHEMA.internal_order
and this too: SAP_RM_ADMIN_SCHEMA.INTERNAL_ORDER
 
$ nawk -v t="internal_order" '$0 ~ "SAP_RM_ADMIN_SCHEMA.(" toupper(t)  "|" tolower(t) ")"' PBFD100.ksh
Match this: SAP_RM_ADMIN_SCHEMA.internal_order
and this too: SAP_RM_ADMIN_SCHEMA.INTERNAL_ORDER

Perhaps I'm missing something, can you post a test file with some lines you want matched that are failing?
# 5  
Old 03-22-2011
Thanks again Chubler.
Infact I had something like this in the actual ksh file :
Code:
select 'select internal_order_id, doc_type_id from '"${SAP_RM_ADMIN_SCHEMA}"'.INTERNAL_ORDER'

I tried my luck with egrep and could get that working :
Code:
egrep -i -e 'SAP_RM_ADMIN_SCHEMA.+internal_order'  PBFD100.ksh

But I would appreciate if I can get the equivalent nawk as well (I know nawk is primarily not for this purpose).

Thanks again.

Last edited by Franklin52; 03-23-2011 at 05:02 AM.. Reason: Please use code tags
# 6  
Old 03-23-2011
Chubler's code doesn't match your line because you have extra 3 characters }"' between SAP_RM_ADMIN_SCHEMA and .INTERNAL_ORDER.
This User Gave Thanks to binlib For This Post:
# 7  
Old 03-23-2011
That's correct try one of these:

Code:
nawk -v t="internal_order" '$0 ~ "SAP_RM_ADMIN_SCHEMA.{1,4}(" toupper(t)  "|" tolower(t) ")"' PBFD100.ksh
nawk -v t="internal_order" 'toupper($0) ~ "SAP_RM_ADMIN_SCHEMA.{1,4}" toupper(t)' PBFD100.ksh

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Multiple bash variables passed into nawk

I have a file that has 2 fields called b_file: 11977 DAR.V3.20150209.1.CSV 3295 DAR.V3.20150209.1.CSV 1721 DAR.V2.20150210.1.CSV I need to search a sftplog using the field 1, but want to maintain the relationship between field 1 and 2. I am passing field 1 as a parameter in a bash loop. ... (14 Replies)
Discussion started by: smenago
14 Replies

2. Shell Programming and Scripting

Two shell variables using nawk

How do you use two shell variables in awk? I am using Solaris 10 and don't have GNU products installed. File (transportation.txt) contents: car make boat model airplane landing snowmobile track bicycle helmet sled housing Thanks to this forum this code works (prints everything from the... (4 Replies)
Discussion started by: thibodc
4 Replies

3. Shell Programming and Scripting

Can I use nawk -v with two or more variables?

Hi, Is it possible in awk/nawk to pass two or more variables in the -v flag? That is: X=1 Y=2 nawk -v X=$X Y=$Y..... Thanks in advance. (7 Replies)
Discussion started by: daytripper1021
7 Replies

4. Shell Programming and Scripting

nawk - Unable to use 2 variables for NR range

Hi, I need to break an input file into multiple output files. The number of output files is decided by a maximum record count allowed for each file. Hence I am using the nawk command to recursively retrieve a range of lines from an input file and write them to output files. But I am unable to... (3 Replies)
Discussion started by: ragz_82
3 Replies

5. Shell Programming and Scripting

Passing the nawk variables to the shell

nawk '($1 ~ "1000") && ($1 ~ "5665" ) { sub ($6,"89");flag =1;print }' old.txt >> new.txt I want to set a flag in awk , if the both conditions are met. I want to pass this flag to shell Can anyone please help me on this (1 Reply)
Discussion started by: prav076
1 Replies

6. Shell Programming and Scripting

how to access values of awk/nawk variables outside the awk/nawk block?

i'm new to shell scripting and have a problem please help me in the script i have a nawk block which has a variable count nawk{ . . . count=count+1 print count } now i want to access the value of the count variable outside the awk block,like.. s=`expr count / m` (m is... (5 Replies)
Discussion started by: saniya
5 Replies

7. Shell Programming and Scripting

I can't seem to pass variables properly into a nawk statement

Ok, So up front I'm going to say that I'm a very elementary scripter, and I tend to use tools I don't fully understand, but I shotgun at something until I can get it to work...that said, I can't for the life of me understand why I can't get this to go down the way I want it to. The goal: -to... (6 Replies)
Discussion started by: DeCoTwc
6 Replies

8. Shell Programming and Scripting

nawk - Passing variables

Hi, I am passing the varibale using nawk -v to search the pattern from the file. But this variable is not accepting. I couldn't get the crrect output. Help me regarding..... nawk -v PGMNAME="$prog" ' { $0 ~ /PGMNAME/ { .................. ................. ... (3 Replies)
Discussion started by: sharif
3 Replies

9. Shell Programming and Scripting

Assigning nawk output to variables

I do a lot of command line scripting to capture data from files or other command output. I've checked in a number of Unix and scripting books but for the life of me I can't find out how to asign field data from nawk output into variables that I can manipulate later. For example, reading a two... (6 Replies)
Discussion started by: steveje0711
6 Replies

10. Shell Programming and Scripting

nawk and variables

Hi guy's Im trying to pass variables into nawk and then match them on a value within a record but it don't seem to be working. If i put in the dates i want to see then it works fine.. #!/usr/bin/ksh -x YEST=$(/usr/local/bin/perl -e... (8 Replies)
Discussion started by: plimpix
8 Replies
Login or Register to Ask a Question