SED

https://www.regextester.com/1946

G8 = P(G1,G3)
G9 = P(G3,G4)

LH

sort NH-3ND-R6506E-D-1Cfg  | uniq | sed 's/[0-9]*//g' | sort | uniq | sed '/^$/d' > /tmp/x



sed 's#ip access-list extended#acl advanced name#g' < NH-3ND-R6506E-D-1Cfg > v1
$ sed 's#any any#ANYDOUBLE ANYTDOUBLE#g' < v1 > v2
$ sed 's#any#ANYSINGLE#g' < v2 > v3
$ sed 's#ANYSINGLE$#destination any#g' < v3 > v4
$ sed 's#ANYSINGLE host#any destination#g' < v4 > v5
$ sed 's#deny   ip host#rule deny ip source#g' < v5 > v6
$ sed 's#deny   ip#rule deny ip source#g' < v6 > v7
$ sed 's#deny.*tcp#rule deny tcp source#g' < v7 > v8
$ sed 's#eq#eqSINGLE#g' < v8 > v9
$ sed '/eqSINGLE.........$/s#eqSINGLE#destination-port eq#g' < v9 > v10
$ sed '/eqSINGLE.......$/s#eqSINGLE#destination-port eq#g' < v10 > v11
$ sed '/eqSINGLE......$/s#eqSINGLE#destination-port eq#g' < v11 > v12
$ sed '/eqSINGLE.....$/s#eqSINGLE#destination-port eq#g' < v12 > v13
$ sed '/eqSINGLE....$/s#eqSINGLE#destination-port eq#g' < v13 > v14
$ sed '/eqSINGLE...$/s#eqSINGLE#destination-port eq#g' < v14 > v15
$ sed 's#ANYSINGLE eqSINGLE#any source-port eq destination#g' < v15 > v16
$ sed '/ftp-data/s#ANYSINGLE range#destination  any destination-port range#g' < v16 > v17
$ sed '/tcp/s#ANYSINGLE range#any source-port range destination#g' < v17 > v18
$ sed '/udp host/s#ANYSINGLE range#0 destination any destination-port range#g' < v18 > v19
$ sed '/udp/s#ANYSINGLE range#destination any destination-port range#g' < v19 > v20

$ sed 's#permit icmp host#rule permit icmp source#g' < v20 > v21

$ sed 's#^.permit icmp#rule permit icmp source#g' < v21 > v22
$ sed 's#ANYDOUBLE ANYTDOUBLE#any destination any#g' < v22 > v23
$ sed '/permit icmp source any destination.*1/s#$# 0#g' < v23 > v24
$ sed '/permit icmp source.*host/s#$# 0#g' < v24 > v25
$ sed '/permit icmp source.*host/s#host#destination#p' < v25 > v26






$ sed '/eq.....$/s#eq#destination-port eq#g' < v8 > v9

# notes
$ sed 's#ANYDOUBLE ANYTDOUBLE$#any destination any#g' < v8 > v9
$ sed 's#ANYDOUBLE ANYTDOUBLE#any destination any destination-port#g' < v9 > v10





sed 's#permit ip#rule permit ip source#g' < v1 > v2
sed 's#any any#ANYT ANYT#g' < v2 > v3
$ sed 's#any#ANYTT#g' < v3 > v4
$ sed 's#ANYTT$#destinatioin any#g' < v4 > v5

sed 's#permit tcp host#rule permit tcp source#g' < v5 > v6

$ sed 's#eq telnet host#source-port eq telnet destination#' < v6 > v7

$ sed 's#^.permit tcp#rule permit tcp source#g' < v7 > v8

$ sed '/eq.....$/s/eq/destination-port eq/g' < v8 > v9

$ sed '/eq......host/s/eq/source-port eq/g' < v9 > v10

$ sed '/eq.....host/s/eq/source-port eq/g' < v10 > v11

$ sed '/eq....host/s/eq/source-port eq/g' < v11 > v12

$ sed '/eq.......host/s/eq/source-port eq/g' < v12 > v13