nawk question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting nawk question
# 1  
Old 04-28-2011
nawk question

Hi guys
I am using the following command to "grep" a pattern and 22 lines after it from the file:
Code:
$ nawk '/\[435\]/{c=22}c&&c--' allocations.ini

It does the job fine if the pattern is hardcoded into the command, if the case above it is [435].
But when I am trying to assign a variable instead of hardcoded pattern the command returns nothing Smilie
$ PNUM=435
$ nawk -v a=$PNUM '/\[a\]/{c=22}c&&c--' allocations.ini
$
I am not sure what I am doing wrong here.
Thanks a lot for any advice....
# 2  
Old 04-28-2011
Code:
nawk -v a=$PNUM '$0 ~ ("[" a "]") {c=22}c&&c--' allocations.ini

# 3  
Old 04-28-2011
Thanks, but now it lists all file instead of the block I request.
# 4  
Old 04-28-2011
Quote:
Originally Posted by aoussenko
Thanks, but now it lists all file instead of the block I request.
what pattern you're searching for?
Either 4 or 3 or 5? A string '435'?
If the latter:
Code:
PNUM=435
nawk -v a=$PNUM '$0 ~ a{c=22}c&&c--' allocations.ini

Or something else?
# 5  
Old 04-28-2011
Quote:
PNUM="[435]"
nawk -v a=$PNUM '$0 ~ a {c=22}c&&c--' allocations.ini
# 6  
Old 04-28-2011
I am searching for the string "[435]", but for some reason the above commands return a lot more (almost the whole file) then I am searching for... If "[435]" is hardcoded like in the first example the output is correct.
# 7  
Old 04-28-2011
Quote:
Originally Posted by aoussenko
I am searching for the string "[435]", but for some reason the above commands return a lot more (almost the whole file) then I am searching for... If "[435]" is hardcoded like in the first example the output is correct.
Ah, ok:
Code:

PNUM=435

nawk -v a="${PNUM}" '$0 ~ ("\\[" a "\\]") {c=22}c&&c--' allocations.ini


Last edited by vgersh99; 04-28-2011 at 05:40 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nawk command not working for Question mark (?)

Hi Folks, I am facing an issue with nawk command. The data is as below: ABC0022,BASC,Scene Package,INR,02May17,XXX4266,be?. Hotel,3,AW01,Twin Room,61272,41308,39590,39590,X,X ABC0022,BASC,Scene Package,INR,02May17,XXX4266,be?. Hotel,3,AW02,Twin Room with Balcony,9272,85638,4520,9590,X,X... (1 Reply)
Discussion started by: kirans.229
1 Replies

2. Shell Programming and Scripting

Nawk Problem - nawk out of space in tostring on

Hi.. i am running nawk scripts on solaris system to get records of file1 not in file2 and find duplicate records in a while with the following scripts -compare nawk 'NR==FNR{a++;next;} !a {print"line"FNR $0}' file1 file2duplicate - nawk '{a++}END{for(i in a){if(a-1)print i,a}}' file1in the middle... (12 Replies)
Discussion started by: Abhiraj Singh
12 Replies

3. Shell Programming and Scripting

Nawk variable question

Hi, I'm trying to replace a string with the contents of a file.. I found the below thread that shows how to do this but is there any way to use a variable as the file name in the nawk command?.. When I try I get an error saying while read groupsvar do ... (5 Replies)
Discussion started by: Jazmania
5 Replies

4. UNIX for Dummies Questions & Answers

Nawk help!!!

Hi, Please help me I want to filter all messages having a value less than a particular value..Please advice how to use <= in the below red marked script.. Getting the error as no such file or directory for the marked line no. Thanks in advance... Script is as under : read message gawk... (5 Replies)
Discussion started by: vanand420
5 Replies

5. Shell Programming and Scripting

Nawk in a tail - syntax question

Hello. I run the following command to get data from a logfile: nawk 'BEGIN {FS="|"} {if ($6=="sonusSgxConfigurationErrorNotification") print ":" $10 ":" $11}' sonustrap.log | nawk 'BEGIN {FS=":"} {print $3 $5}' This command is 'static' from the .log file, however I wanted tail -f this and... (3 Replies)
Discussion started by: lennys26
3 Replies

6. Shell Programming and Scripting

Nesting - two nawk into one nawk

hi people; this is my two awk code: nawk '/cell+-/{r=(NF==8) ? $4FS$5FS$6 : NF==7 ? $4FS$5 : $4 ;c=split(r,rr);for (i=1;i<=c;i++){if(rr != "111111"){printf($3" %d ""\n",(i+3))}}printf("")}' /home/gc_sw/str.txt > /home/gc_sw/predwn.txt nawk -F'*' '{gsub(/ *$/,"")}$0=$1$($NF-2)'... (2 Replies)
Discussion started by: gc_sw
2 Replies

7. Shell Programming and Scripting

awk/nawk question to format a file

Hi, I am new to awk/nawk, needs help. I want to merge the rows having emplid attribute same into a single row in the following file. In actual this kind of file will have around 50k rows. Here is my input file id|emplid|firstname|dep|lastname 1|001234|test|1001|1 2|002345|test|1032|2... (7 Replies)
Discussion started by: kumar04
7 Replies

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

9. Shell Programming and Scripting

nawk question

I am trying to write the following c code in nawk: while ((ch = getc (fp)) != EOF) { total_bytes++; checksum = (checksum >> 1) + ((checksum & 1) << 15); checksum += ch; checksum &= 0xffff; /* Keep it within bounds. */ } I appreciate your help (10 Replies)
Discussion started by: DeltaX
10 Replies

10. Shell Programming and Scripting

NAWK question

Hello everybody !! I just started messing around with NAWK/AWK and I find it very interesting. I was trying to have script that prints only the the different lines (lines that are identical and adjacent, some that are identical and not adjacent, and some that are just different) I tried... (6 Replies)
Discussion started by: DeltaX
6 Replies
Login or Register to Ask a Question