Pegar URL e adicionar porta [RESOLVIDO]

1. Pegar URL e adicionar porta [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/11/2016 - 14:48h

Olá a todos!

Tudo bem?
Gostaria de uma pequena ajuda com um script que estou escrevendo.
Esse meu script é para instalar e configurar o programa de IRC WeeChat, assim como realizar algumas configurações, além de criar e acrescentar certificados SASL e SSL. Porém, estou com um pequeno problema. Eu preciso pegar a URL de uma rede que esteja configurada no $HOME (~/.weechat/irc.conf) do usuário, e acrescentar uma porta após o endereço.
Mas, o usuário poderia ter deixado configurado uma URL com as possibilidades abaixo:

irc.endereco.net
irc.endereco.net/ (com a barra no fim)
irc.endereco.net:8888
irc.endereco.net:8888/ (com a barra no fim)

Independente do formato apresentado na lista, e independente do endereço, gostaria de acrescentar o número da porta (caso não exista) ou queria trocar a porta (caso já tenha sido configurada com a porta). Qual dica vocês podem me dar sobre esse caso?

Agradeço desde já,
Vinícius.


  


2. Re: Pegar URL e adicionar porta [RESOLVIDO]

Gustavo Valério
GustavoValerio

(usa Debian)

Enviado em 14/11/2016 - 20:14h

Você pode usar o sed para fazer isso com auxílio de expressão regular.
------------------------------------------------------------------------------------------------------------------------
"Esta é a filosofia Unix:
Escreva programas que façam apenas uma coisa mas que façam bem feito.
Escreva programas que trabalhem juntos.
Escreva programas que manipulem streams de texto, pois esta é uma interface universal."
Ou, de maneira simples: "faça apenas uma coisa e faça bem".
------------------------------------------------------------------------------------------------------------------------
Visite: https://blog.gustavovalerio.com
Visite: http://goo.gl/NJlxXy


3. Re: Pegar URL e adicionar porta [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/11/2016 - 21:16h

vinalencc escreveu:

Olá a todos!

Tudo bem?
Gostaria de uma pequena ajuda com um script que estou escrevendo.
Esse meu script é para instalar e configurar o programa de IRC WeeChat, assim como realizar algumas configurações, além de criar e acrescentar certificados SASL e SSL. Porém, estou com um pequeno problema. Eu preciso pegar a URL de uma rede que esteja configurada no $HOME (~/.weechat/irc.conf) do usuário, e acrescentar uma porta após o endereço.
Mas, o usuário poderia ter deixado configurado uma URL com as possibilidades abaixo:

irc.endereco.net
irc.endereco.net/ (com a barra no fim)
irc.endereco.net:8888
irc.endereco.net:8888/ (com a barra no fim)

Independente do formato apresentado na lista, e independente do endereço, gostaria de acrescentar o número da porta (caso não exista) ou queria trocar a porta (caso já tenha sido configurada com a porta). Qual dica vocês podem me dar sobre esse caso?

Agradeço desde já,
Vinícius.


echo $URL | sed -r 's/\/$//g' - isto tira a barra do fim da url

echo $URL | cut -d ':' -f1 - isto retira o número da porta do fim da url

echo $URL | cut -d ':' -f2 - isto retorna apenas o número da porta do fim da url

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: Pegar URL e adicionar porta

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/11/2016 - 21:19h

vinalencc escreveu:

Olá a todos!

Tudo bem?
Gostaria de uma pequena ajuda com um script que estou escrevendo.
Esse meu script é para instalar e configurar o programa de IRC WeeChat, assim como realizar algumas configurações, além de criar e acrescentar certificados SASL e SSL. Porém, estou com um pequeno problema. Eu preciso pegar a URL de uma rede que esteja configurada no $HOME (~/.weechat/irc.conf) do usuário, e acrescentar uma porta após o endereço.
Mas, o usuário poderia ter deixado configurado uma URL com as possibilidades abaixo:

irc.endereco.net
irc.endereco.net/ (com a barra no fim)
irc.endereco.net:8888
irc.endereco.net:8888/ (com a barra no fim)
Independente do formato apresentado na lista, e independente do endereço, gostaria de acrescentar o número da porta (caso não exista) ou queria trocar a porta (caso já tenha sido configurada com a porta). Qual dica vocês podem me dar sobre esse caso?


Agradeço desde já,
Vinícius.


Boa noite, vinalencc.
Seguem sugestões:
1 - Verifica se termina com "/", SEM a PORTA.
egrep  '[a-z]+/$' LINKS_IRC.txt
irc.endereco.net/

2 - Verifica se termina com "/" com a PORTA.
egrep --color '[0-9]+/$' LINKS_IRC.txt 
irc.endereco.net:8888/

3 - Verifica se tem a PORTA.
egrep --color '[a-z]+$' LINKS_IRC.txt
irc.endereco.net:8888


Em qualquer uma das situações acima, ALTERA o Nº da PORTA:
sed -r 's/([a-z0-9.]+)(:?\/?[0-9/]+?)/\1:5555/' LINKS_IRC.txt
irc.endereco.net:5555
irc.endereco.net:5555
irc.endereco.net:5555
irc.endereco.net:5555


cat LINKS_IRC.txt
irc.endereco.net
irc.endereco.net/
irc.endereco.net:8888
irc.endereco.net:8888/

Se a RESPOSTA foi SATISFATÓRIA, marque a como A MELHOR . . . :)

att.:
marcelo oliver


5. Re: Pegar URL e adicionar porta [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/11/2016 - 08:19h

Quero agradecer a todos.
Suas respostas me ajudaram, pois, independente do comando, os resultados foram aqueles que eu queria.
Muitíssimo obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts