Gents,
Can you please help me to fix the following script in order to get complete data as desired. I am missing some data in output.
the complete input file is attached.
The script I am using is
awk '{\
status=substr($0,91,2)\
ind=substr($0,26,1);\
split(substr($0, 11, 24-11), val,/\.0 /);\
key[NR%2":"val[1]val[2]] = ind":"status\
}\
END{\
for(i in key){\
split(i, arr, /:/)\
split(key, brr, /:/)\
if(!(brr[2] == '$st1' || brr[2] == '$st2')){\
delete key\
continue\
}\
cnt[arr[2]]++\
}\
for(i in key){\
split(i, arr, /:/)\
split(key, brr, /:/)\
print arr[2]" index "brr[1]" has "cnt[arr[2]]" times status "brr[2]\
}\
}' input.txt | sort -k1,1n -u > output
Output I get
6936919969 index 2 has 2 times status 14
6937919401 index 3 has 2 times status 14
6938720105 index 2 has 2 times status 14
6957719489 index 4 has 2 times status 98
6957919489 index 2 has 2 times status 98
6958119529 index 2 has 2 times status 14
6958320209 index 2 has 2 times status 14
6958719737 index 2 has 2 times status 14
6958920185 index 2 has 2 times status 14
6959120009 index 1 has 1 times status 98
6959320089 index 1 has 1 times status 98
Output I will like to get
6936919969 index 2 has 2 times status 14
6937919401 index 2 has 2 times status 14
6937919401 index 3 has 2 times status 14
6938720105 index 2 has 2 times status 14
6957719489 index 1 has 2 times status 98
6957719489 index 2 has 2 times status 98
6957719489 index 3 has 2 times status 98
6957719489 index 4 has 2 times status 98
6957919489 index 1 has 2 times status 98
6957919489 index 2 has 2 times status 98
6958119529 index 2 has 2 times status 14
6958320209 index 2 has 2 times status 14
6958719737 index 2 has 2 times status 14
6958920185 index 2 has 2 times status 14
6959120009 index 1 has 1 times status 98
6959320089 index 1 has 1 times status 98
Thanks for your help