Repetir determinado caractere X vezes

Publicado por Mauriciodez em 14/01/2019

[ Hits: 5.491 ]

 


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

Erro ao acessar WhatsApp Web no Debian: "error while loading shared libraries: libXss.so.1" [Resolvido]

Como marcar um tópico como 'RESOLVIDO' e assinalar 'MELHOR RESPOSTA'

Como reparar o arquivo "status" [Resolvido]

Uget funcional no browser

Executar comando que exija root como usuário comum

Leitura recomendada

FreeBSD - PF + Altq + MRTG

Testando se a conexão com a internet está ativa

Curso de Shell Script Avançado

Leitura da memória em tempo real

Redirecionar a porta 80 para 3128 com iptables, menos a tua máquina

  

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