msoliver
(usa Debian)
Enviado em 04/09/2020 - 19:55h
/bin/laden escreveu:
E aí galera, de boas!? Preciso duma força com Sed/Awk. Tenho um arquivo com o seguinte conteúdo:
SERVER {
PROXY1='192.168.1.254'
PROXY2='192.168.2.254'
}
PORT {
PROXY1=3128
PROXY2=3128
}
Como fazer pra que o conteúdo desse arquivo vire isso:
SERVER_PROXY1='192.168.1.254'
SERVER_PROXY2='192.168.2.254'
PORT_PROXY1=3128
PORT_PROXY2=3128
Alguém pode dar um help? :)
Boa noite Bin/Laden,
Segue sugestão:
sed -nr "/\.[0-9]+'$/s/^\t+/SERVER_/p;/[0-9]+$/s/^\t+/PORT_/p;s/^$//p" texto
SERVER_PROXY1='192.168.1.254'
SERVER_PROXY2='192.168.2.254'
PORT_PROXY1=3128
PORT_PROXY2=3128
Como funciona:
A linha que termina com
.Números', troque as "
tabs" do início, por "SERVER_"
E, a linha que termina com Números, troque as "
tabs" do início por "PORT_"
O ultimo "sed", "imprime" a linha "vazia"
Ou:
sed -nr "/'$/s/\t+/SERVER_/p;/^$/p;/[^']$/s/\t+/PORT_/p" texto
É isso....
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________