With GNU awk:
Code:
awk '/ENRLHDR/{
c++
rec=$0
getline
if($0~/AUTHDXP/)
printf "%010d%s\n",c,rec>"ENRLHDR.txt"
else
printf "##########%s\n",rec>"ENRLHDR.txt"
}
/AUTHDXP/{
printf "%010d%s\n",c,$0>"AUTHDXP.txt"
}END{
if($0~/ENRLHDR/)
printf "##########%s\n",$0>"ENRLHDR.txt"
}' inputfile
With nawk:
Code:
nawk '/ENRLHDR/{
c++
rec=$0
getline
last=$0
if($0~/AUTHDXP/)
printf "%010d%s\n",c,rec>"ENRLHDR.txt"
else
printf "##########%s\n",rec>"ENRLHDR.txt"
}
/AUTHDXP/{
printf "%010d%s\n",c,$0>"AUTHDXP.txt"
}END{
if(last~/ENRLHDR/)
printf "##########%s\n",last>"ENRLHDR.txt"
}' inputfile
Use nawk or /usr/xpg4/bin/awk on Solaris.