|
From: | Alfredo Casanova |
Subject: | Re: [shell-script] Função para desenhar caixas |
Date: | Sat, 2 Aug 2014 10:56:30 -0300 |
Perdendo ou ganhando, não importa, o que vale é que de qq forma tomamos um chope regado a Shell. ;)
Em 2 de agosto de 2014 00:21, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
Hahahaha tá valendo. Amanhã testo e informo.
Em 01/08/2014 22:08, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:
Interessante... Eu até apostaria o chope que usando expansão de parâmetros seria ligeiramente mais rápido e perderia. Mas tudo bem, seria um bom pretexto para tomar um chope. De qq forma valeu pela dica: para traçar uma linha da largura da tela, basta fazer:$ printf -v Espacos %$(tput cols)s$ tr ' ' - <<< "$Espacos"Huuum!! Com o uso deste 'printf -v variável' vi que posso acelerar a minha proposta anterior, pq evita forks do Shell. Por favor, confira tb o tempo para fazer a caixa da seginte maneira:$ string="$*"$ tamanho=${#string}$ printf -v traco "\e(0\x71\e(B"$ printf -v linha "%${tamanho}s" ' '$ echo ${linha// /$traco}Alfredo, acho que agora ficará um pouco mais rápida que o for. Valendo o chope??? ;)Em 1 de agosto de 2014 15:10, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
Júlio, mandei gerar 1000 caixas usando o printf dentro do for:real 0m31.460suser 0m1.624ssys 0m3.768se depois mil usando a expansão de variável que você sugeriu:real 0m39.577suser 0m3.424ssys 0m7.028srodei depois testes com apenas 100 duas vezes e em todas a versão com o for se saiu melhor2014-08-01 12:34 GMT-03:00 'Julio C. Neves' address@hidden [shell-script] <address@hidden>:
Eu usei o tput cols, como forma de apresentar mais novidades, como fazer um separador na tela inteira, mas no caso da sua caixa, me lembro que vc isolou o tamanho da msg que vc queria "encaixotar" na variável $tamanho. Então vc poderia ter evitado o for, fazendo assim:$ string="$*"$ tamanho=${#string}$ traco=$(printf "\e(0\x71\e(B")$ linha=$(printf "%${tamanho}s" ' ')$ echo ${linha// /$traco}Creio que isso te daria um pouco mais de velocidade de execução, mas tem de testar.
Em 1 de agosto de 2014 10:17, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
esse notify-send não tá disponível no meu debian por default, tive que instalar um pacote mpdcron para usa-lo. É bem bacana, o caso da minha função era só pra mostrar em sessões de puro shell mesmo.A dica do tput cols é boa, mas eu usei o tamanho da string pra mostrar, assim a caixinha fica do tamanho da mensagem2014-08-01 8:49 GMT-03:00 address@hidden [shell-script] <address@hidden>:
Grande mestre Júlio!
Essa do "notify-send" é mais uma dica matadora.Impressionante o quanto eu descubro que o software livre pode propiciar de surpresas.E funcionou uma maravilha no Slackware, no Ubuntu, no Mint e no bom e velho Debian.[]'sItamar--
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619
--
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] Função para desenhar caixas, itamarnet, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova, 2014/08/01
- Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/02
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova <=
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova, 2014/08/02
- Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/02
Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/02
- Re: [shell-script] Função para desenhar caixas, Alfredo Casanova, 2014/08/02
Re: [shell-script] Função para desenhar caixas, Julio C. Neves, 2014/08/01
- Prev by Date: Re: [shell-script] Função para desenhar caixas
- Next by Date: Re: [shell-script] Função para desenhar caixas
- Previous by thread: Re: [shell-script] Função para desenhar caixas
- Next by thread: Re: [shell-script] Função para desenhar caixas
- Index(es):