|
From: | Julio C. Neves |
Subject: | Re: [shell-script] Múltiplas variáveis em um loop |
Date: | Fri, 25 Nov 2016 11:00:29 -0200 |
O printf |
Produz |
\e(0\x6c\e(B |
┌ |
\e(0\x71\e(B |
─ |
\e(0\x6b\e(B |
┐ |
\e(0\x78\e(B |
│ |
\e(0\x6d\e(B |
└ |
\e(0\x6a\e(B |
┘ |
for i in $(seq $tamanho)
do
printf "\e(0\x71\e(B"
done
Por:
printf -v linha "%${tamanho}s" ' '
printf -v traco "\e(0\x71\e(B"
echo -n ${linha// /$traco}
On Thu, Nov 24, 2016 at 5:24 PM Alfredo Casanova <address@hidden> wrote:Foi algo que você chamou de "rotatório Peczenyj" no Papo de Botequim! Pode procurar que está por lá.
No exemplo era um loop pra iterar todas as opções do chmodOn Thu, Nov 24, 2016 at 5:20 PM 'Julio C. Neves' address@hidden [shell-script] <address@hidden.br > wrote:alias Pacman="Tiago Peczenyj"Tb já foi citado (como quase todos os mais antigos/ativos da lista), mas achei que essa era sua...Em 24 de novembro de 2016 17:05, Alfredo Casanova address@hidden [shell-script] <address@hidden.br > escreveu:Na verdade aquela solução é do Thiago Peczne**** (não sei escrever o sobrenome e não achei na lista), só lembrei e adaptei!
De toda forma, é sempre motivo de orgulho ser citado pelo Mestre!On Thu, Nov 24, 2016 at 2:43 PM 'Julio C. Neves' address@hidden [shell-script] <address@hidden.br > wrote:Eu não havia visto a solução do Casanova, por sinal, brilhante tb e que incluirei, mas já havia me referido a ele em outro pedaço e vou repetir, pq é um macete legal:============================================ Já tinha mandado a 10ª edição deste livro para a editora quando o Alfredo Casanova, colega da lista shell-script do yahoo groups, mandou a seguinte dica para a nossa lista:
"Só compartilhando uma funçãozinha que fiz aqui pra desenhar caixas de mensagem (só funciona para mensagens com uma linha, se alguém quiser alterar, fique à vontade)"
E nos brindou com esse código:
function DrawBox
{
string="$*";
tamanho=${#string}
tput setf 3; printf "\e(0\x6c\e(B"
for i in $(seq $tamanho)
do printf "\e(0\x71\e(B"
done
printf "\e(0\x6b\e(B\n"; tput sgr0;
tput setf 3; printf "\e(0\x78\e(B"
tput setf 4; tput bold; echo -n $string; tput sgr0
tput setf 3; printf "\e(0\x78\e(B\n"; tput sgr0;
tput setf 3; printf "\e(0\x6d\e(B"
for i in $(seq $tamanho)
do printf "\e(0\x71\e(B"
done
printf "\e(0\x6a\e(B\n"; tput sgr0;
}
Seu uso seria da seguinte forma:
$ DrawBox Qualquer frase que caiba no terminal
==============================
======== Mas não deu tempo de sair na 10a. edição e está saindo nessa.
Toda vez que vejo algo muito bom na lista, publico com o nome do autor, para que outros possam usufruir estes macetes.
Em 24 de novembro de 2016 11:50, address@hidden [shell-script] <address@hidden.br > escreveu:Grande Meste Júlio
Eu que agradeço a referência, e jamais me importariaAliás, o mérito é da lista como um todo, pois sempre há alguém com uma solução para um problema igualmente interessante.Apredi e aprendo demais com todos aqui, e na medida que posso retribuo o ensinamento que recebi.Nem precisa perguntar, qualquer citação feita por ti Júlio eu considero como uma grande honra.E a sugestão do Casanova deu também é outro forma muito legal de solucionar o problema.Isso só corrobora o seu dito muito comum e que todos já conhecem!Valeu![]'sItamar
[Prev in Thread] | Current Thread | [Next in Thread] |