Repetir determinado caractere X vezes

Publicado por Mauriciodez em 14/01/2019

[ Hits: 811 ]

 


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

Adicionar aplicativos no painel do cinnamon

Executar comando que exija root como usuário comum

Instalar programas no Windows pela rede Samba

Pré-visualizar códigos no Geany

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

Leitura recomendada

Leitura da memória em tempo real

Sockets em shell script

Receber e-mail quando o root logar via SSH

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

CGI + Shell Script: gerando listagem de IPs disponíveis em sua rede

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts