use awk pick value from lines as condition for grep

Hi Folks!
I have a file like this

000000006    dist:0.0    FILE ./MintRoute/MultiHopWMEWMA.nc LINE:305:1 NODE_KIND:131 nVARs:4 NUM_NODE:66 TBID:733 TEID:758
000000000    dist:0.0    FILE ./Route/MultiHopLEPSM.nc LINE:266:1 NODE_KIND:131 nVARs:4 NUM_NODE:66 TBID:601 TEID:626

000000001    dist:0.0    FILE ./WSN-simulator-1.0/gnuplot_i_c.nc LINE:217:3 NODE_KIND:65 nVARs:5 NUM_NODE:66 TBID:375 TEID:401
000000002    dist:0.0    FILE ./WSN-simulator-1.0/gnuplot_i_c.nc LINE:378:3 NODE_KIND:65 nVARs:5 NUM_NODE:66 TBID:648 TEID:674

000000000    dist:0.0    FILE ./Drain/DrainLinkEstM.nc LINE:559:5 NODE_KIND:65 nVARs:8 NUM_NODE:85 TBID:819 TEID:850
000000001    dist:0.0    FILE ./Drain/DrainLinkEstM.nc LINE:580:5 NODE_KIND:65 nVARs:8 NUM_NODE:85 TBID:919 TEID:950

000000001    dist:0.0    FILE ./WSN-simulator-1.0/runLeach_c.nc LINE:137:4 NODE_KIND:65 nVARs:6 NUM_NODE:60 TBID:562 TEID:584
000000002    dist:0.0    FILE ./WSN-simulator-1.0/runLeach_c.nc LINE:209:4 NODE_KIND:65 nVARs:6 NUM_NODE:60 TBID:799 TEID:821
000000004    dist:0.0    FILE ./WSN-simulator-1.0/runMyalgo_c.nc LINE:252:4 NODE_KIND:65 nVARs:6 NUM_NODE:60 TBID:947 TEID:969
000000005    dist:0.0    FILE ./WSN-simulator-1.0/runMyalgo_c.nc LINE:314:4 NODE_KIND:65 nVARs:6 NUM_NODE:60 TBID:1101 TEID:1123

I want to grep the lines where the second number after "LINE" is greater then e.g. >=4. And the blocks should stay separated with a blank line. Can someone help?

nawk 'NF{split($5,a,":"); k=(a[3]>=4)?1:0} !NF ||k' myFile
1 Like

GREAT!! Thanks a lot!