Using variable inside awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using variable inside awk
# 1  
Old 08-06-2009
Using variable inside awk

I am trying to print the lines with pattern and my pattern is set to a variable express

Code:
awk '/$express/{where=NR;print}' test2.log

I am not getting any data even though i have the data with the pattern. Can seomeone correct me with the awk command above?
# 2  
Old 08-06-2009
Use " instead of ' or awk -v. There is a search function in this forum - this is asked quite often, also for sed.
# 3  
Old 08-06-2009
I am using awk -v in a bash file. unable to get the result. Will it be teh same in a bash file?
# 4  
Old 08-06-2009
Did you try using " as zaxxon said ???
ex:
Code:
awk "/$express/{where=NR;print}" test2.log

# 5  
Old 08-06-2009
My total code is like this. I am using this bash file to get the data that is 5 hrs before the current time.

Code:
#!/bin/bash
genexpression()
{
stime=`date '+ %H'`
stime=`expr $stime \- 5`
if (( $stime < 10 ))
then
stime=0${stime}
fi
export express=`date '+%m/%d/%Y'`\ $stime
}
genexpression
echo $express
awk "/$express/{print}" test.log

the statement is bailing out here. where as it is working fine if i pass a string to the variable like express='Parameters'

the output is coming like this:
Code:
08/06/2009 07
awk: syntax error near line 1
awk: bailing out near line 1

# 6  
Old 08-06-2009
Before putting into awk , check whether the variable contain any thing (i mean non space ) , some thing like this :
Code:
if [ "$variable" = " " ]; then
#  variable is space 
else
awk ...........
fi

# 7  
Old 08-06-2009
i am getting the error as follows. I am able to echo the result of the variable express correctly.
Code:
08/06/2009 07
test.sh: line 22: syntax error near unexpected token `else'
test.sh: line 22: `else'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Variable and awk inside for loop

Thanks all for taking time out and reading this thread and big Thanks to all who have come forward for rescue. Background: I have a variable "nbrofcols" that has number of columns from a data file. Now, using this count in for loop, I am trying to get the maximum length of each column present... (7 Replies)
Discussion started by: svks1985
7 Replies

2. Shell Programming and Scripting

Variable assignment inside awk

Hi, Was hoping someone could help with the following: while read line; do pntadm -P $line | awk '{if (( $2 == 00 && $1 != 00 ) || ( $2 == 04 )) print $3,$5}'; done < /tmp/subnet_list Anyone know if it is possible to assign $3 and $5 to separate variables within the {} brackets? Thanks... (14 Replies)
Discussion started by: CiCa
14 Replies

3. Shell Programming and Scripting

Passing awk variable argument to a script which is being called inside awk

consider the script below sh /opt/hqe/hqapi1-client-5.0.0/bin/hqapi.sh alert list --host=localhost --port=7443 --user=hqadmin --password=hqadmin --secure=true >/tmp/alerts.xml awk -F'' '{for(i=1;i<=NF;i++){ if($i=="Alert id") { if(id!="") if(dt!=""){ cmd="sh someScript.sh... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

HELP with AWK one-liner. Need to employ an If condition inside AWK to check for array variable ?

Hello experts, I'm stuck with this script for three days now. Here's what i need. I need to split a large delimited (,) file into 2 files based on the value present in the last field. Samp: Something.csv bca,adc,asdf,123,12C bca,adc,asdf,123,13C def,adc,asdf,123,12A I need this split... (6 Replies)
Discussion started by: shell_boy23
6 Replies

5. Shell Programming and Scripting

Problem using variable inside awk

HI, This is the code I am using: awk -v aaa="connect" 'BEGIN {IGNORECASE} /aaa/,/!/ {print NR}' bb This does not throw any error but it does not work. Pls help Thanks. (4 Replies)
Discussion started by: sudvishw
4 Replies

6. Shell Programming and Scripting

Using variable inside awk

Hi, Please help me how to use variables inside awk in code below: ll | awk -v "yr=`date '+%Y'`" -v "mnth=`date '+%m'`" -v Jan=1 -v Feb=2 -v Mar=3 -v Apr=4 -v May=5 -v Jun=6 -v Jul=7 -v Aug=8 ' !/^d/ { if(NR>1) {printf "%-29s\t\t%s\t%5s\t\t%s %s,", $9,$1,$5,$`$6`,$7} }' Thanks. (10 Replies)
Discussion started by: manubatham20
10 Replies

7. Shell Programming and Scripting

Variable inside AWK printf

Hi, Is it possible to print a variable inside awk printf ?? the above is not working (13 Replies)
Discussion started by: selvankj
13 Replies

8. Shell Programming and Scripting

How to use same variable value inside as well as outside of the awk command?

Hi Jim, The following script is in working state. But i m having one more problem with awk cmd. Could you tell me how to use any variable inside awk or how to take any variable value outside awk. My problem is i want to maintain one property file in which i am declaring variable value into that... (12 Replies)
Discussion started by: Ganesh Khandare
12 Replies

9. Shell Programming and Scripting

getting variable inside awk

Hi All, I have awk script for replacing the nth ocurance of a string in an xml file... My code is like this FILETYPE=xml TAGNAME=type OCCURANCE=$1 TAGVALUE=valueur echo OCCURANCE:$OCCURANCE echo TAGNAME:$TAGNAME echo TAGVALUE:$TAGVALUE awk -v n=$OCCURANCE -v... (1 Reply)
Discussion started by: subin_bala
1 Replies

10. Shell Programming and Scripting

variable inside awk '{print $c}'

i'm trying to do this (in bash darwin); echo "give me some words: " read a c=2 # this is get by other ways echo $a | awk '{print $c}' # i want to print the column given # by de $c variable if there is someone understand what i pretend... (3 Replies)
Discussion started by: Tártaro
3 Replies
Login or Register to Ask a Question