[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Expresão regular para filtar URL




É por isso que eu gosto do awk :)
awk -F/ '{ printf("%s//%s\n",$1,$3); }' /arquivo/com/urls
Work smarter, not harder ;)

Olá,

Esse awk não serve no caso de se ter uma porta, o correto seria: awk -F[/:] '{ printf("%s://%s\n",$1,$4); }'
   Com sed também dá: sed 's/\(.*\/\/[^\/\:]*\).*/\1/'
Com shell também: while read url; do proto="${url%%:*}"; site="${url#*://}"; site="${site%%[:/]*}"; echo "$proto://$site"; done É uma questão de sabe o que quer e usar corretamente a ferramenta. Veja que com qualquer outra linguagem é possível, depende do seu domínio sobre a ferramenta ou linguagem.


A expressão do sed falha no seguinte exemplo:
http://news.google.com.br/news/url?sa=t&ct=pt-BR_br/3-0-0&fp=4694732a9b439900&ei=YfqURr_jNpqkogKpzfB6&url=http%3A//www.otempo.com.br

Com o awk ficou bem simples. E os ":" complementaram a ajuda do Maxwillian.

Valeu.



Reply to: