Pular para o conteúdo

Imprimindo repetidamente uma palavra ou frase na tela

Dica publicada em Shell Script / Miscelânea
Fábio Berbert de Paula fabio
Hits: 2.755 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Imprimindo repetidamente uma palavra ou frase na tela

Inutilidade útil, que você provavelmente irá usar pelo menos uma vez na vida, seja para tirar onda com um colega de trabalho ou para criar algum shell script...

Existem várias formas de se chegar ao resultado final que chegaremos na dica, abordarei apenas alguns, dando prioridade aos comandos que são executados em apenas uma linha.

Como fazer para imprimir a sentença "Viva o Linux" 5x no terminal?

Método 1: printf

printf 'Viva o Linux %.0s\n' {1 2 3 4 5}

ou

printf 'Viva o Linux %.0s\n' {1..5}

Resultado:

Viva o Linux
Viva o Linux
Viva o Linux
Viva o Linux
Viva o Linux


Explicando o comando:
  • printf - autoexplicativo né minha filha?
  • Viva o Linux - idem ao anterior
  • %.0s - precisamos de algum formatador "%" para recebermos os argumentos do printf. Neste caso .0s significa uma string vazia, ou seja, nada, não faz nada
  • {1..5} - para cada elemento (de 1 a 5) processe o conteúdo passado ao printf, por isso a necessidade do "%" do item anterior

Para entender melhor como funciona o "%", experimente trocar %.0s por:

printf 'Viva o Linux %d %d\n' {1..5}

e compare os resultados.

Caso queira imprimir tudo na mesma linha, basta remover o "\n" do comando:

printf 'Viva o Linux %.0s' {1..5}
Viva o Linux Viva o Linux Viva o Linux Viva o Linux Viva o Linux

Método 2: yes cabeça!

Execute:

yes 'Viva o Linux' | head -n 5
Viva o Linux
Viva o Linux
Viva o Linux
Viva o Linux
Viva o Linux


Caso queira imprimir tudo na mesma linha, use:

echo $(yes 'Viva o Linux' | head -n 5)
Viva o Linux Viva o Linux Viva o Linux Viva o Linux Viva o Linux

Agora cabe a você eleger a solução mais elegante, ou comente abaixo caso use outro método.

Comando watch com saída em cores

Como reproduzir vídeos no Chromecast usando o VLC

Miniaturas de vídeo no Dolphin/KDE (video thumbnails)

Criando um despertador usando crontab e mpg123

E-book GRATUITO de Shell Script do Júlio Neves

Lendo registros formatados de arquivo de texto em bash

Instale pacotes pelo apt através de uma lista

Base de dados mais organizada em shell script

Aumento de produtividade na programação shell

LibreOffice - Acessando arquivos recentes pelo Unity Launcher

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.