perl -i~ -we '$_=<>; @f= split; print; while (<>) { @a{@f}= split or warn next; $a{stdNam} eq "John" and $a{stdAge}-= 2; $a{stdNam} eq "gorge" and next; print join ("\t", @a{@f}), $/; }' file