pass variable to awk


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers pass variable to awk
# 1  
Old 12-18-2003
pass variable to awk

i would like to pass a variable to awk wherein the variable comes from external loop.

i tried this...

let x=0

until test $x -eq 32
do
cat file | awk '{ print $1 , "Number" , $($x) }' >> output
done

thanks,
# 2  
Old 12-19-2003
Try the following

cat file | awk -v xx=$x '{ print $1 , "Number" , xx }' >> output

- Finnbarr
# 3  
Old 12-19-2003
cat file | awk '{ print $1 , "Number" , $($x) }' >> output

-- Note: Awk is a little different from shell in that you do not need to use the $ sign to access a variable. The only time you would do so is if you wanted to get the value of a field variable. Example: $1 $2 ..$n where n is a value up to 199
# 4  
Old 02-11-2004
PHP sorry but not working

actually this is a sample of what i want to do:

from the sample code:

Code:
grep "keyword" filename | awk '{print $2}' >> outfile
grep "keyword" filename | awk '{print $3}' >> outfile
        .
        .
        .
grep "keyword" filename | awk '{print $32}' >> outfile

i want to shorten it to loop like this:
Code:
let x = 2

until test $x > 32
do

grep "keyword" filename | awk ...???

let x = x + 1

done

so you see i want to pass a variable to awk where the value will also be the variable for print.

thanks a lot
# 5  
Old 02-11-2004
Well, I'm assuming "keyword" is the same word in all those lines you have in your first section of code.... and I'm assuming the line it returns is gonna be a long line, and you're trying to print each part of the returned line on it's own line...

See if this works for you:
Code:
grep "keyword" filename | awk '{ for (i = 1; i <= NF; i++ ) print $i}' >> outfile

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Pass shell Variable to awk

Hello, May i please know how do i pass the shell variable to awk expression in the below script. It is returning null #!/bin/bash UNINUM=720922 UNINUM_DESC=`awk -F'|' -v UNINUM=$2 '/UNINUM/ {print $4}' datafile` echo $UNINUM_DESC datafile 4|First|720194|asdasdad 4|First|720735|asdasdsa... (8 Replies)
Discussion started by: Ariean
8 Replies

2. Shell Programming and Scripting

pass an awk variable to kill

Does anyone know of a way to do something similar to this with awk and kill? I want to create the variable in awk and pass that variable to kill. ps -ef | grep -i chromium | awk '{$2=x}' | kill -9 $x 2>/dev/null (9 Replies)
Discussion started by: cokedude
9 Replies

3. UNIX for Dummies Questions & Answers

How to pass a variable from shell to awk

I know this topic has been dealt with previously, but the solutions I've seen don't work for me apparently. I need to pass a variable defined in the shell to one in awk: $ echo $var1 3 $ cat aaa aaa 1 bbb 2 ccc 3 ddd 4 eee 5I've tried this, without success: $ awk... (2 Replies)
Discussion started by: metaltree
2 Replies

4. Shell Programming and Scripting

ksh variable pass to awk

I'm trying to store the response from a nawk command inside of a ksh script. The command is: text=$(nawk -F: '$1 ~ /${imgArray}/ {print $2}' ${etcDir}/captions.txt) From what I can tell, the imgArray variable is not being expanding when it is inside the single quote ('). Is there something I... (4 Replies)
Discussion started by: meman1188
4 Replies

5. Shell Programming and Scripting

How to pass a Awk variable to another script

Read parameter from a text file with one line which stored the date value like 20080831; below is the awk command I used gawk -F, "{getline RunDate;print $RunDate" text file When print $RunDate, it display 20080831 Would like to pass this variable to another script to use but not... (6 Replies)
Discussion started by: cbauw
6 Replies

6. Shell Programming and Scripting

Is it possible to pass variable from awk to shell script

Hello experts, can I return a value from gawk to a shell script ? My script as follows, #Here I want the num value to shell script so that I can use later gawk ' { split($0,num,","); print num }' gawk -v no=$number '{print no}' file1 ... (3 Replies)
Discussion started by: user_prady
3 Replies

7. UNIX for Dummies Questions & Answers

How to pass Shell script variable to awk

Hi, I have a shell script with an ambedded awk script. i need to pass a script variable to the awk script. Please help. Thanks in advance Himani (3 Replies)
Discussion started by: HIMANI
3 Replies

8. Shell Programming and Scripting

Pass script variable value to AWK

HI all, some more mistery about AWK, I hope you can help me out: 1) I have a normal ksh script and sometime I call awk command. I set some variables in the script and I would like to use them up within AWK as well. Unfortunately AWK seems to forget all the variable values outside of its own... (1 Reply)
Discussion started by: BearCheese
1 Replies

9. UNIX for Dummies Questions & Answers

How do I pass a variable to awk?

I have an awk statement where I Need to pass an environment variable but I cannot get it to work: My evironment varible examples below: $FILE1=/dev/fs/file.new $FILE2=/dev/fs/file.old Code below: awk -F"|" ' BEGIN { while( getline < "$FILE1" ) { arr=1 } } arr != 1 { print } '... (12 Replies)
Discussion started by: eja
12 Replies

10. Shell Programming and Scripting

How to pass a variable to Awk ?

I am trying to pass 2 shell variable's ("START" and "END") define earlier in the script to this awk statement, but i can't seem to pass it on. PLs help. set START = xxxx set END = yyyy set selected_file = `awk '/$START/,/$END/' filename` (24 Replies)
Discussion started by: Raynon
24 Replies
Login or Register to Ask a Question