Repetir determinado caractere X vezes

Publicado por Mauriciodez em 14/01/2019

[ Hits: 5.581 ]

 


Repetir determinado caractere X vezes



Nesta dica vou demonstrar uma forma bem simpática de repetir caracteres no seu script.

Por vezes, queremos incrementar/embelezar nosso script usando alguns separadores de texto. Um dos modos é dentro de um comando echo.

Exemplo: a string "Título " seguida por 50 '#':

echo "Título ##################################################"
Título ##################################################

Outro modo (objeto desta dica) seria usando os comandos seq e tr. Onde:
  • O comando seq é um comando que imprime sequências de números;
  • O comando tr é um comando de substituição de caracteres.

Sintaxe no exemplo:

echo "Título `seq -s '#' 51 | tr -d [:digit:]`"

O funcionamento:
  • seq -s '#' 51 → escreve a sequencia 0 .. 51 separadas por '#', logo são 51 números e 50 separadores!!!
  • tr -d [:digit:] → Deleta todos os números.

E é isso aí... espero que a dica agrade e tenha serventia para alguém.

Abraços e até a próxima.
Maurício G. Paiva

Outras dicas deste autor

Ocultar arquivos especiais do Windows no boot

APT - Corrigir erro de chave pública (W: Erro GPG)

Instalar programas no Windows pela rede Samba

Adicionar aplicativos no painel do cinnamon

Cinnamon - Alterar a cor da fonte dos ícones da área de trabalho

Leitura recomendada

Sockets em shell script

Fazendo backup ou cópia somente dos arquivos alterados no último dia

Bloqueando Facebook com IPtables (de forma fácil, intuitiva e eficiente)

Testando se o servidor está no ar, caso não esteja, a máquina é desligada

Limpando o .recycle do Samba

  

Comentários
[1] Comentário enviado por msoliver em 28/01/2019 - 22:06h

Outras maneiras:
echo -e $_{1..80}'\b+';echo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

line() { printf '%*s' "50" ''|sed "s/ /—/g";}
printf "$(line)\nINÍCIO\n$(line)\n"
——————————————————————————————————————————————————
INÍCIO
——————————————————————————————————————————————————

Linha inteira:
printf '%*s' "$(tput cols)" '' | sed "s/ /—/g"

É isso....




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts