shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Pegar apenas a URL


From: eric miranda
Subject: Re: [shell-script] Pegar apenas a URL
Date: Wed, 28 Sep 2011 21:11:33 -0300

cut -d "/" -f1 | sed -e 's/www\.//g'
Em 28/09/2011 20:39, "Rodrigo Boechat" <address@hidden>
escreveu:
> Bem. Eu cheguei a isso:
>
> arquivo="$HOME/teste.txt"
>
> cat - >> "$arquivo" <<EOF
>
http://www.unix.com/shell-programming-scripting/36565-exit-shell-script.html
> http://www.bla.com.br/ble/bli.htm
> http://www.cla.com.br/cle/cli.htm
> http://www.sub1.dla.com/dle/dli.htm
> http://www.sub2.ela.co.uk/ele/eli.htm
> EOF
>
> cut -f3 -d'/' $arquivo | cut -d'.' -f2- | sed
> 's/\([a-zA-Z0-9]*\.\)\([a-zA-Z0-9]*\.co.\.*\)/\2/'
>
> Explicando o cut:
> -d = seta o delimitador de campos
> -f = seta quais campos você vai pegar :: 2- significa do segundo em
> diante, lembrando que o primeiro campo é o zero. Colocando o menos na
> frente do dois [-f-2], você obtém do zero até o segundo.
>
> Explicando o sed:
> s/// = substituição
>
> \( e \) = criam separações endereçadas de 1 a 9 [se não me engano] num
> bloco de padrao que você esteja procurando. Então eu criei duas
> separações '\([a-zA-Z0-9]*\.\)' e '\([a-zA-Z0-9]*\.co.\.*\)'.
> A primeira busca por qualquer conjunto de letras e números misturados
> terminados por ponto.
> A segunda busca por qualquer conjunto de letras e números misturados
> terminados por ".co*.*".
> Obs: Usei co*. porque me lembrei que o domínio inglês, por exemplo é
> "co.uk".
> Obs2: O povo não gosta de usar o ponto em expressões, portanto a poarte
> "[a-zA-Z0-9]*\.co.\.*" poderia, também, ser escrita assim:
> "[a-zA-Z0-9]*\.co[a-z]\.*".
>
> Por fim, ao invés de substituir o comando \2\ diz para o s/// escrever o
> conteúdo da segunda separação, no caso, tudo que o
> "[a-zA-Z0-9]*\.co.\.*" abranger.
>
> Tentei ser o mais claro possível. Se eu me enrolei em alguma explicação
> eu mesmo errei alguma coisa, sintam-se à vontade para corrigir.
>
> Espero ter ajudado.
> Rodrigo Boechat
>
> Em Qua 28 Set 2011 18:55:31 BRT, Fernando Mercês escreveu:
>>
>> Mas e como pegar o domínio independente da URL conter um subdomínio ou
>> não?
>>
>> Por exemplo, para todas as entradas abaixo, a saída deveria ser
>> somente "unix.com":
>>
>> www.unix.com/lele/lili
>> unix.com/nada
>> mail.unix.com
>>
>> Eu tentei com o sed aqui e não consegui. Seria uma boa função para
>> somar às funções zz. :)
>>
>> Abraços.
>>
>> Att,
>>
>> Fernando Mercês
>> Linux Registered User #432779
>> www.mentebinaria.com.br
>> softwarelivre-rj.org
>> @MenteBinaria
>> ------------------------------------
>> Participe do I Hack'n Rio
>> hacknrio.org
>> ------------------------------------
>>
>> 2011/9/28 Rodolpho Costa Stach <address@hidden
>> <mailto:dukercs%40gmail.com>>:
>> > hum vou estudar :D $man cut
>> > vlw cara
>> >
>> > por enquanto o script tá assim
>> >
>> >
>> > # Script para adicionar site à lista branca
>> > # Criado em 28/09/2011
>> > # Autor: Rodolpho Costa Stach
>> > #!/bin/bash
>> > versao="1.0.1b"
>> >
>> > fpath="/etc/squiddir/listabranca.txt"
>> >
>> > testapath(){
>> > if [ -e $fpath ]; then
>> > args
>> > else
>> > echo -e "\e[31;1m ERRO: "
>> > echo -e "\e[37;1m O arquivo de lista não foi localizado em
>> $fpath."
>> > echo -e "\e[37;1m Use $0 --novalista para definir o novo local do
>> > arquivo"
>> > sair
>> > fi
>> > }
>> >
>> > sair(){
>> > exit 1
>> > }
>> >
>> > args(){
>> > if [ "$1" = "" ];then
>> > echo -e "\e[31;1m ERRO: "
>> > echo -e "\e[37;1m Use $0 + domínio do site a ser liberado."
>> > sair
>> > else
>> > contar
>> > fi
>> > }
>> >
>> > contar(){
>> > count=$(grep -c $1 $fpath)
>> > if [ $count >= 1 ]; then
>> > echo -e "\e[31;1m ERRO: "
>> > echo -e "\e[37;1m Este domínio já existe cadastrado"
>> > else
>> > echo $1 >> $fpath
>> > fi
>> > }
>> > ajuda(){
>> > echo -e "\e[40;32;1mAjuda"
>> > echo -e "\e[40;37;1mUse o $0 para adicionar somente o domínio à
>> > lista branca de sites."
>> > echo -e "\e[40;31mOpções: "
>> > echo -e -n "\e[40;32;1m--help --ajuda -h "
>> > echo -e "\e[40;37;1mExibe essa tela de ajuda"
>> > echo -e -n "\e[40;32;1m--novalista "
>> > echo -e "\e[40;37;1mAltera o arquivo da lista branca para o
>> arquivo
>> > informado"
>> > echo -e "\e[40;31;1mUSE: $0 --novalista
>> > /caminho/completo/para/a/novalista.txt"
>> > echo -e ""
>> > }
>> > case "$1" in
>> > --help|-h|--ajuda)
>> > ajuda ;;
>> > --novalista)
>> > echo "Ainda irei estudar como fazer isso :D "
>> > echo "Você entrou com o caminho"
>> > ;;
>> > *)
>> > testapath
>> > ;;
>> > esac
>> >
>> >
>> >
>> >
>> > Em 28 de setembro de 2011 17:49, Moacir Souza
>> <address@hidden <mailto:moacir.souza%40gmail.com>>escreveu:
>> >
>> >> **
>> >>
>> >>
>> >> Outro cut..
>> >>
>> >> $ cut -d "." -f 2-
>> >>
>> >> 2011/9/28 Rodolpho Costa Stach <address@hidden
>> <mailto:dukercs%40gmail.com>>:
>> >>
>> >> > Sim mas com esse delimitador está saindo o www. tem como tirar ele ?
>> >> >
>> >> > Em 28 de setembro de 2011 17:10, Marcelo Andrade
>> <address@hidden <mailto:mfandrade%40gmail.com>
>> >> >escreveu:
>> >> >
>> >> >> **
>> >> >>
>> >> >>
>> >> >> 2011/9/28 Rodolpho Costa Stach <address@hidden
>> <mailto:dukercs%40gmail.com>>
>> >> >> >
>> >> >> > Gente estou ainda criando o danado do script para adicionar
>> sites em
>> >> uma
>> >> >> > lista branca nisso pensei em controle de erro e gostaria de
>> caso eu
>> >> >> coloque
>> >> >> > um site como
>> >> >> >
>> >> >>
>> >>
>>
http://www.unix.com/shell-programming-scripting/36565-exit-shell-script.htmlem
>> >> >> > uma variável que eu pegue só o
>> >> >> > unix.com ou se fosse .com.br pegasse só o unix.com.br para que eu
>> >> possa
>> >> >> > testar se esse domínio já não existe.
>> >> >>
>> >> >> Um cut -f3 -d'/' não resolve?
>> >> >>
>> >> >> Atts.
>> >> >>
>> >> >> --
>> >> >> MARCELO F ANDRADE
>> >> >> Belem, Amazonia, Brazil
>> >> >>
>> >> >> "I took the red pill"
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > [As partes desta mensagem que não continham texto foram removidas]
>> >> >
>> >> >
>> >> >
>> >> > ------------------------------------
>> >>
>> >> >
>> >> > ----------------------------------------------------------
>> >> > Esta lista não admite a abordagem de outras liguagens de
programação,
>> >> como perl, C etc. Quem insistir em não seguir esta regra será
>> moderado sem
>> >> prévio aviso.
>> >> > ----------------------------------------------------------
>> >> > Sair da lista: address@hidden
>> <mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
>> >> > ----------------------------------------------------------
>> >> > Esta lista é moderada de acordo com o previsto em
>> >> http://www.listas-discussao.cjb.net
>> >> > ----------------------------------------------------------
>> >> > Servidor Newsgroup da lista: news.gmane.org
>> >> > Grupo: gmane.org.user-groups.programming.shell.brazil
>> >> >
>> >> > Links do Yahoo! Grupos
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> ==========================================
>> >> Moacir da Cruz Souza Filho
>> >>
>> >> Analista de Sistemas: Suporte Unix Avançado
>> >> Mestrando em Ciências da Computação
>> >> Bacharel em Engenharia da Computação
>> >> Técnico em Eletrônica
>> >> Linux user #449600
>> >> ==========================================
>> >>
>> >>
>> >>
>> >
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>> >
>> > ------------------------------------
>> >
>> > ----------------------------------------------------------
>> > Esta lista não admite a abordagem de outras liguagens de
>> programação, como perl, C etc. Quem insistir em não seguir esta regra
>> será moderado sem prévio aviso.
>> > ----------------------------------------------------------
>> > Sair da lista: address@hidden
>> <mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
>> > ----------------------------------------------------------
>> > Esta lista é moderada de acordo com o previsto em
>> http://www.listas-discussao.cjb.net
>> > ----------------------------------------------------------
>> > Servidor Newsgroup da lista: news.gmane.org
>> > Grupo: gmane.org.user-groups.programming.shell.brazil
>> >
>> > Links do Yahoo! Grupos
>> >
>> >
>> >
>>
>>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]