Repetir determinado caractere X vezes

Publicado por Mauriciodez em 14/01/2019

[ Hits: 5.443 ]

 


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

Uget funcional no browser

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

Negação Condicional no IF

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

Marcar linhas no Geany

Leitura recomendada

FreeBSD - PF + Altq + MRTG

Usando o script alertaTwitter

Backup em shell script na virtualização de máquinas (VMWare)

Como Habilitar Facilmente Shell Script WEB no Linux Mint - Servidor Apache

Como escrever em arquivos protegidos usando o sudo e redirecionamento

  

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