On Tue, 17 Jul 2007 17:01:04 -0300 Junior Polegato - Linux <linux@juniorpolegato.com.br> wrote: Essa ficou muito boa: > sed 's/\([^\/\:]*\:\/\/[^\/\:]*\).*/\1/' > >>> URL > >>> http://www.itau.com.br/campanhas/bankline/lancamento/detecta_482x192.htm > >>> https://itaubankline.itau.com.br:443 > >>> > >>> Resultado: SITE > >>> http://www.itau.com.br > >>> https://itaubankline.itau.com.br > >>> > >>> Fiz a seguinte expressão regular para usar com o sed: > >>> sed 's/\w\+:\/\/\(\w\+-\?\w*\.\)\+\w*//' arquivo_com_urls > >>> > > O sed pode ficar mais simples. > > $ sed s'/br\(.*\)/br/' > > > > E se a URL não tiver br ou um br em outro lugar? Só uma pergunta: por > que ou para que usam \( e \)? O agrupamento foi um atropelo. O br para o exemplo serve, não sei como são as variações. Mas se for fácil de ver o padrão, um arquivo com poucas urls, ainda acho que vale apena isso o que usei http://www.itau.com.br/campanhas/br/lancamento/detecta_482x192.htm https://itaubankline.itau.com.br:443 http://www.itau.com.net/campanhas/bankline/lancamento/detecta_482x192.htm https://itaubankline.itau.net:443 http://www.itau.org/campanhas/bankline/lancamento/detecta_482x192.htm https://itaubankline.itau.org:443 o sed 's/\(br\|net\|org\).*/\1/' http://www.itau.com.br https://itaubankline.itau.com.br http://www.itau.com.net https://itaubankline.itau.net http://www.itau.org https://itaubankline.itau.org Sobre o atropelamento '\( \)', estava começando a pensar em algo mais abrangente e cheguei a isso: sed s'#\(htt\(p\|ps\)://.*\.[a-z]\{2,3\}\)\(/[a-z].*$\|:.*\)#\1#' Por ser mais clara de ler em um primeiro momento acho boa. E ai um pouco mais sed s'#\(\w://.*\.[a-z]\{2,3\}\)\(/\w.*$\|:.*\)#\1#' [] -- Herbert Parentes Fortes Neto (hpfn) Linux user number 416100 0x9834F79E -- http://pgp.mit.edu/
Attachment:
pgpj0y9_kpjh2.pgp
Description: PGP signature