Hi everyone, I have a basic csh/awk question.
How do I print a given field from a given line in a given file?
Thanks in advance!
Hi everyone, I have a basic csh/awk question.
How do I print a given field from a given line in a given file?
Thanks in advance!
awk 'NR==given_line{print $given_field}' given_file
Regards
^^^^You missed the given field separator
thanks franklin! will try it!
oh im using the default field separator (space)
Hmmm, can someone help me why it doesnt work when i use a variable for the "given_line", eg:
awk 'NR==$counter{print $25}' $argv[1]
thanks in advance!
Try this:
awk -v var=$counter 'NR==var{print $25}' $argv[1]
Regards
You need to use the -v option in awk to use shell variables, as below:
awk -v c=$counter 'NR==c {print $25}' $argv[1]
or
awk ' BEGIN { FS="\t" } NR==lineno { print $field } ' lineno=$given_line_no field=$given_field_no $given_file
thanks guys, but when I use -v, i get "subscript out of range"
awk -v var=$counter 'NR==var{print $25}' $argv[1]
When I use -v, i get:
awk: syntax error near line 1
awk: bailing out near line 1
Try this:
awk 'NR==var{print $25}' var=$counter $argv[1]
Regards
wow, thanks franklin! that worked perfectly! :big grin: