Alex Rivera | Logout

How to print the Nth column of a text file with AWK using argv

Asked 2008-11-26T06:22:18.003
39

Suppose I have a text file with data separated by whitespace into columns. I want to write a shell script which takes as input a filename and a number N and prints out only that column. With awk I can do the following:

awk < /tmp/in '{print $2}' > /tmp/out

This code prints out the second column.

But how would one wrap that in a shell script so that a arbitrary column could be passed in argv?

Edit
Report

1 Answer

7
awk '{print $'$myvar'}' < /tmp/in > /tmp/out

Where $myvar is your variable column (an integer). Watch out for script injections!

answered 2008-11-26T06:31:55.347

Your Answer