Repetir determinado caractere X vezes

Publicado por Mauriciodez em 14/01/2019

[ Hits: 1.608 ]

 


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

Pré-visualizar códigos no Geany

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

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

Instalar programas no Windows pela rede Samba

Autocompletar path no comando read

Leitura recomendada

Compilação Kernel 4.0.3 no Slackware

Curso de Shell Script Avançado

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

Exibir arquivo de grupos /etc/group de forma personalizada conforme o usuário

Corrigindo bug do imsniff 0.04 com um simples script (gambiarra)

  

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