マッチしたパターンの後のユニークなもの


入力ファイルが、

str1 str2 str3 str4  err003 str5 str...N
str1 str2 str3 str4  str5 err002 str5 str...N
str1 str2 err003 str3 str...N
str1 str2 str3  err002 str4 str...N

のようなものの時に、/err[1-9]/ にマッチするものを抜き出して、同じ err No. のものを無視すると言うものらしいです。(質問の意図がイマイチ把握できていません)

awk '
   match($0,/err[0-9]+/) { e=substr($0,RSTART,RLENGTH) }
   !(e in err) { err[e]; print substr($0,RSTART+3) }
'

で所望のものらしいので、そういうことなのですが、アクションの評価式で !(e in err) という記法は珍しいかもしれません。