Is there a way to set a variable in my current shell from within awk?
I’d like to do some processing on a file and print out some data; since I’ll read the whole file through, I’d like to save the number of lines — in this case, FNR.
Happens though I can’t seem to find a way to set a shell variable with FNR value; if not this, I’d have to read the FNR from my output file, to set, say num_lines, with FNR value.
I’ve tried some combinations using awk 'END{system(...)}', but could not manage it to work. Any way around this?
Here’s why you should use declare instead of eval:
Note in the first case that eval executes whatever string awk prints, which could accidentally be a very bad thing!