#!/usr/bin/awk -f BEGIN { dosym=0; symdone=0; } /^symbols;*$/ && !symdone { dosym=1 } # All-match must go before .*; match !dosym { print } /.*;/ && dosym { print "symbols;" dosym=0 symdone=1 }