Repetir determinado caractere X vezes
Dica publicada em Shell Script / Avançado
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:
Sintaxe no exemplo:
echo "Título `seq -s '#' 51 | tr -d [:digit:]`"
O funcionamento:
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
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
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....