bash - awk unmatched with blank file -
recently i've encountered strange behavioral problem awk
say have 2 files 1 blank file & populated data
so let me apply simple unmatched code
awk -v var=0 'nr==fnr{a[$var]++;next} !($var in a)' file1 file2 say
file1 &
file 2 b v it return blank data supposed return content in file 2. can explain me how overcome issue?
there isn't data in file1, overall record number never changes, fnr == nr throughout file2. i'm not sure there's easy way fix that, either.
you can't use begin block record current file name , spot when file name changes. posix specification awk says:
filenamepathname of current input file. inside begin action value undefined. inside end action value shall name of last input file processed.
i think best bet comparing filename argv[1]:
awk -v var=0 'filename==argv[1] {a[$var]++;next} !($var in a)' file1 file2
Comments
Post a Comment