FNR == 1 { getline nextline < FILENAME; printf "" > FILENAME ".new"; } { getline nextline < FILENAME; if ($0 ~ /^FN: / && nextline !~ /^ORG: /) { print $0 >> FILENAME ".new"; print "ORG: " FILENAME >> FILENAME ".new"; } else if ($0 ~ /^ORG: / && prevline ~ /^FN: /) { print substr($0, 1, length($0)-1) " + " FILENAME >> FILENAME ".new"; } else { print $0 >> FILENAME ".new"; } prevline = $0; }