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

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

Re: [shell-script] CURIOSIDADES: Discussão sobre ShellScript no 4Chan


From: Alfredo Casanova
Subject: Re: [shell-script] CURIOSIDADES: Discussão sobre ShellScript no 4Chan
Date: Sun, 11 Jan 2015 16:40:43 +0000

Meu script ficou assim: http://pastebin.com/fcrcprdA

On Sun Jan 11 2015 at 2:26:29 PM Alfredo Casanova <address@hidden> wrote:
Acabei de ler que o case não suporta regex, apenas o shell pattern matching mesmo...
Então se vc setar o extended globbing on, dá pra fazer:

Faixa=$(case $Nota in
    ?([01])[0-9]%) echo 000 ;;
    [23][0-9]%) echo 020 ;;
    [45][0-9]%) echo 040 ;;
    [56][0-9]%) echo 060 ;;
    [78][0-9]%) echo 080 ;;
    *) echo 100;;
esac)


On Sun Jan 11 2015 at 2:20:53 PM Alfredo Casanova <address@hidden> wrote:
Qual o tipo de regex que o CASE suporta?
Tentei essa formação: 
Faixa=$(case $Nota in
    1?[0-9]%) echo 000 ;;
    [23][0-9]%) echo 020 ;;
    [45][0-9]%) echo 040 ;;
    [56][0-9]%) echo 060 ;;
    [78][0-9]%) echo 080 ;;
    *) echo 100;;
esac)

E não deu certo. Então apelei e fiz: 
Faixa=$(case $Nota in
    [0-9]%|1[0-9]%) echo 000 ;;
    [23][0-9]%) echo 020 ;;
    [45][0-9]%) echo 040 ;;
    [56][0-9]%) echo 060 ;;
    [78][0-9]%) echo 080 ;;
    *) echo 100;;
esac);

Aí acabou o problema heheh

On Fri Jan 09 2015 at 1:16:08 AM 'Julio C. Neves' address@hidden [shell-script] <address@hidden.br> wrote:
 

Vc tem razao Paulo, mas da forma que vc colocou tb nao casa com inteiros. Creio que sera necessario uma limpeza com sed ou cut antes do case.
Estou no celular e so sei pensar qdo estou no computador. Depois verei isso.

Em 08/01/2015 16:54, "Paulo Bettega address@hidden [shell-script]" <address@hidden.br> escreveu:


Mestre Julio, mas nesse caso o 100% não cairia na primeira opção?

      case $Nota in
            *[01][0-9]*%) echo 000 ;;


Colocando o 100% literal no começo resolveria.

      case $Nota in
            *100%) echo 100 ;; # ou *100*) caso exista 100.0%
            *[01][0-9]*) echo 000 ;;
            *[23][0-9]*) echo 020 ;;
            *[45][0-9]*) echo 040 ;;
            *[67][0-9]*) echo 060 ;;
            *[89][0-9]*) echo 080 ;;
            *) echo erro? ;;
      esac


Abraços Paulo Bettega


On 08-01-2015 16:12, 'Julio C. Neves' address@hidden [shell-script] wrote:
> Valeu Paulo, mas é melhor tirar o ponto, pois podem aparecer números inteiros. O asterisco só já
> resolve isso.
>
> Em 08/01/2015 11:27, "Paulo Bettega address@hidden <mailto:address@hidden.br>
> [shell-script]" <address@hidden.br <mailto:shell-script@yahoogrupos.com.br>> escreveu:
>
>     Julio, aqui não deu certo, a saída do upower fica assim
>     percentage: 34.2032%
>     mas nem sempre com quatro casas depois da vírgula.
>
>     $ upower -v
>     UPower client version 0.9.17
>     UPower daemon version 0.9.1
>
>
>     Com o case de acordo o script funciona
>     case $Nota in
>           *[01][0-9].*%) echo 000 ;;
>           *[23][0-9].*%) echo 020 ;;
>           *[45][0-9].*%) echo 040 ;;
>           *[67][0-9].*%) echo 060 ;;
>           *[89][0-9].*%) echo 080 ;;
>           *) echo 100 ;;
>     esac
>
>     O meu note é velho e a bateria dura umas 2 horas, é o ideal pra testar
>     um script desses :)
>     while true;do bateria.sh;sleep 60;done
>     cai 1% a cada minuto mais ou menos.
>
>     Abraços Paulo Bettega
>
>
>     On 08-01-2015 09:53, 'Julio C. Neves' address@hidden <mailto:address@hidden>
>     [shell-script] wrote:
>      > Mas vc testou o bacalho? Conhecia o notify-send? O script dá para entender?
>      >
>      > Abcs,
>      > Julio
>      > *@juliobash**
>      > Próximos cursos de Shell*
>      > *Cidade        LocalPeríodo*
>      > *Rio de JaneiroEDX <http://edx.srv.br/>09 a 13/03/15*
>      > *São Paulo 4Linux <http://www.4linux.com.br/cursos/programacao-em-shell-script>24 a 28/11/14*
>      > Dou treinamento de /Shell/ em qualquer cidade.
>      > Para mais detalhes, me mande um e-mail <mailto:address@hidden
>     <mailto:address@hidden>>.
>      >
>      >
>      > Em 8 de janeiro de 2015 09:21, MrBiTs address@hidden <mailto:address@hidden>
>     <mailto:address@hidden <mailto:address@hidden>>
>      > [shell-script] <address@hidden.br <mailto:shell-script@yahoogrupos.com.br>
>     <mailto:shell-script@yahoogrupos.com.br <mailto:shell-script@yahoogrupos.com.br>>> escreveu:
>      >
>      >     __
>      >
>      >     -----BEGIN PGP SIGNED MESSAGE-----
>      >     Hash: SHA256
>      >
>      >      > Eu vi um script que media a bateria do notebook e fiz uma coisa que estava com vontade de
>      >     fazer mas esquecia sempre: veja que
>      >      > legal (em debian, pelo menos, funciona pq o notify-send vem instalado), mas não está
>     testado.
>      >     Meu note é novo e a bateria é de
>      >      > 12 horas aí não sai de 100% de carga.
>      >      >
>      >      > Se alguém descobrir zebra, me relate, por favor.
>      >      >
>      >      > #!/bin/bash Nota=$(upower -i $(upower -e | grep BAT) | grep percentage)
>      >      >
>      >      > Faixa=$(case $Nota in *0[01][0-9]%) echo 000 ;; *0[23][0-9]%) echo 020 ;;
>     *0[45][0-9]%) echo
>      >     040 ;; *0[56][0-9]%) echo 060 ;;
>      >      > *0[78][0-9]%) echo 080 ;; *) echo 100;; esac) # Se seu bash for anterior ao 4.0, deve ser
>      >     adicionado um abre parênteses antes
>      >      > de cada asterisco
>      >      >
>      >      > notify-send -i gpm-battery-$Faixa $Nota # a opção -i especifica o ícone (/usr/share/icons)
>      >      >
>      >      > MrBiTs me desculpe, mas é um codeguinho piquinininho e colocar num site toma muito
>     tempo e se
>      >     toma tempo não tenho tempo de
>      >      > tomar chope. ;)
>      >      >
>      >
>      >     A bateria do meu notebook também não sai dos 100%. É só deixá-lo ligado na fonte :)
>      >
>      >     Entre colocar código em pastebin e ir tomar chope, vá tomar chope. Homem nenhum no mundo
>     deveria
>      >     ser privado de seu direito divino
>      >     de tomar um chope.
>      >
>      >     De mais a mais, você manda e-mails em plaintext, então prejudica menos a leitura.
>      >
>      >     - --
>      >     echo
>      >
>       920680245503158263821824753325972325831728150312428342077412537729420364909318736253880971145983128276953696631956862757408858710644955909208239222408534030331747172248238293509539472164571738870818862971439246497991147436431430964603600458631758354381402352368220521740203494788796697543569807851284795072334480481413675418412856581412376640379241258356436205061541557366641602992820546646995466P
>      >     | dc
>      >
>      >     -----BEGIN PGP SIGNATURE-----
>      >     Version: GnuPG v1
>      >     Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>      >
>      >     iQEcBAEBCAAGBQJUrmhBAAoJEG7IGPwrPKWrxnIH/22k43muwUyw/ayLsx8xAOqS
>      >     LyVmowatOY8TK8uhLMbcFqW3bMYH+kd5E7OqACfDFbXDNFSCbkNhrgBdswqVHHVA
>      >     LmhE8YYPv1a0j6k5i90uTlnHJY6hHh0r6tGwHpwV/hEnFFkz3JkmQIiRCUR5yYEP
>      >     KBcYRoPk0l2qe0vm8IiYUS+57nnI4kLqPqyEaT8FENV7/GSPqsN9b8JlSmurDYGP
>      >     VODSe5vUGi0BmkQ7XjwhiGw2Wsc3y2QEZvOKzeEWl1Uvk41EzwFN20skoq2MIWtw
>      >     Xu8V9xKluonemPqi0RQA9Zk0/egcG4VFFauXm0tzmnksBiB9zc/Z0v+MJBWagWA=
>      >     =mwOk
>      >     -----END PGP SIGNATURE-----
>      >
>      >
>      >
>      >
>     ----------------------------------------------------------------------------------------------------
>      > Enviado por: "Julio C. Neves" <address@hidden <mailto:address@hidden>>
>
>
>     ------------------------------------
>
>     ------------------------------------
>
>     ---------------------------------------------------------------------
>     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: shell-script-unsubscribe@yahoogrupos.com.br
>     <mailto:shell-script-unsubscraddress@hidden>
>     ---------------------------------------------------------------------
>     Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
>     ---------------------------------------------------------------------
>     Servidor Newsgroup da lista: news.gmane.org <http://news.gmane.org>
>     Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>     ------------------------------------
>
>     Links do Yahoo Grupos
>
>
>
> ----------------------------------------------------------------------------------------------------
> Enviado por: "Julio C. Neves" <address@hidden>


------------------------------------

------------------------------------

---------------------------------------------------------------------
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: shell-script-unsubscribe@yahoogrupos.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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    shell-script-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo Grupos está sujeito aos:
    https://info.yahoo.com/legal/br/yahoo/utos/terms/



reply via email to

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