Como posso imprimir ascii-art existente a partir de um script Bash?

5

Acabei de ver a seguinte arte ascii em outra pergunta .

          0000_____________0000________0000000000000000__000000000000000000+
        00000000_________00000000______000000000000000__0000000000000000000+
       000____000_______000____000_____000_______0000__00______0+
      000______000_____000______000_____________0000___00______0+
     0000______0000___0000______0000___________0000_____0_____0+
     0000______0000___0000______0000__________0000___________0+
     0000______0000___0000______0000_________000___0000000000+
     0000______0000___0000______0000________0000+
      000______000_____000______000________0000+
       000____000_______000____000_______00000+
        00000000_________00000000_______0000000+
          0000_____________0000________000000007

Eu tenho um script bash que eu gostaria de imprimir isso. Como posso fazer isso?

Isso é algo que eu gostaria de redistribuir para manter as coisas simples, prefiro se as respostas não exigirem que coisas adicionais sejam instaladas.

    
por Ravan 28.10.2015 / 07:04

7 respostas

14

Esta é a forma mais curta que eu consegui produzir, que imprime exatamente essa 007 string:

base64 -d <<<"H4sIAJM2MVYAA1NQgAEDIIhHBsgCBmgAU8TAQJsL2SgU41AFiDALYRhUF8I0NAEUCbBZUB7MBGRrUXX
g8DC6CagORwkYtDCDcw3IMwDdOBL1IyRRwpBI7cihTlSYkRRNUHcRnUZgXIQGIlOoOQC/4ufk0gIAAA==" | gunzip
    
por chaos 28.10.2015 / 22:05
11

Que tal apenas echo ?:

echo -e "              0000_____________0000________0000000000000000__000000000000000000+\n            00000000_________00000000______000000000000000__0000000000000000000+\n           000____000_______000____000_____000_______0000__00______0+\n          000______000_____000______000_____________0000___00______0+\n         0000______0000___0000______0000___________0000_____0_____0+\n         0000______0000___0000______0000__________0000___________0+\n         0000______0000___0000______0000_________000___0000000000+\n         0000______0000___0000______0000________0000+\n          000______000_____000______000________0000+\n           000____000_______000____000_______00000+\n            00000000_________00000000_______0000000+\n              0000_____________0000________000000007;"

Cada nova linha foi substituída por \n para incluir tudo em uma linha

Elenãoseráredimensionadoparaoterminalembora(amenosquevocêverifiquealarguradoterminaleechoumquetenhaotamanhocorreto),etambémnãoétãocurto(existeumamaneiraderepetircaracteresmelhor?)masdevefuncionar.Sevocêquisertambémascores,useos códigos de escape :

echo -e "3[31m           00003[0m_____________0000________0000000000000000__000000000000000000+\n3[31m         000000003[0m_________00000000______000000000000000__0000000000000000000+\n3[31m        0003[0m____000_______000____000_____000_______0000__00______0+\n3[31m       0003[0m______000_____000______000_____________0000___00______0+\n3[31m      00003[0m______0000___0000______0000___________0000_____0_____0+\n3[31m      00003[0m______0000___0000______0000__________0000___________0+\n3[31m      00003[0m______0000___0000______0000_________000___0000000000+\n3[31m      00003[0m______0000___0000______0000________0000+\n3[31m       0003[0m______000_____000______000________0000+\n3[31m        0003[0m____000_______000____000_______00000+\n3[31m         000000003[0m_________00000000_______0000000+\n3[31m           00003[0m_____________0000________000000007;"

Apropósito,vocêpodequererconsiderarosdireitosautoraisecoisaschatasdependendodecomovocêestáusando-porexemplo, esta versão , que é semelhante, parece ainda estar em direitos autorais.

    
por Wilf 28.10.2015 / 10:16
11

Coloque os caracteres em um arquivo e cat .

cat 007.txt

Use um "documento aqui"

cat <<EOF
      0000_____________0000________0000000000000000__000000000000000000+
    00000000_________00000000______000000000000000__0000000000000000000+
    . . .
EOF

echo uma string com novas linhas incorporadas

echo '          0000_____________0000________0000000000000000__000000000000000000+
    00000000_________00000000______000000000000000__0000000000000000000+
    . . .'

A vantagem dessas abordagens é que a arte ainda é legível.

    
por Dennis Williamson 28.10.2015 / 17:59
10

Tomou emprestado (aka roubando) a resposta da B.Roland , eu sugiro um pacote com um nome colorido. . . banheiro ! Que você pode obter com sudo apt-get install toilet e funciona mais ou menos assim:

xieerqi:$ toilet 007

  mmmm   mmmm  mmmmmm
 m"  "m m"  "m     #"
 #  m # #  m #    m" 
 #    # #    #   m"  
  #mm#   #mm#   m" 

Também suporta a mudança de fontes (localizada em /usr/share/figlet )

 toilet -f bigascii12  LINUX                                                                                 



 ##         ######   ###   ##  ##    ##  ##    ## 
 ##         ######   ###   ##  ##    ##  :##  ##: 
 ##           ##     ###:  ##  ##    ##   ##  ##  
 ##           ##     ####  ##  ##    ##   :####:  
 ##           ##     ##:#: ##  ##    ##    ####   
 ##           ##     ## ## ##  ##    ##    :##:   
 ##           ##     ## ## ##  ##    ##    :##:   
 ##           ##     ## :#:##  ##    ##    ####   
 ##           ##     ##  ####  ##    ##   :####:  
 ##           ##     ##  :###  ##    ##   ##::##  
 ########   ######   ##   ###  :######:  :##  ##: 
 ########   ######   ##   ###   :####:   ##    ## 
    
por Sergiy Kolodyazhnyy 28.10.2015 / 07:35
5

Instale o pacote banner e crie um script bash

sudo apt-get install sysvbanner

verifique abaixo o exemplo do comando

banner 007
    
por PKumar 28.10.2015 / 07:26
1

Uso

cat << "EOF" 
your_ascii_art 
EOF

Veja o exemplo abaixo

 cat << "EOF"

      0000_____________0000________0000000000000000__000000000000000000+
    00000000_________00000000______000000000000000__0000000000000000000+
   000____000_______000____000_____000_______0000__00______0+
  000______000_____000______000_____________0000___00______0+
 0000______0000___0000______0000___________0000_____0_____0+
 0000______0000___0000______0000__________0000___________0+
 0000______0000___0000______0000_________000___0000000000+
 0000______0000___0000______0000________0000+
  000______000_____000______000________0000+
   000____000_______000____000_______00000+
    00000000_________00000000_______0000000+
      0000_____________0000________000000007

EOF

Dados abaixo de alguns sites geradores de arte ascii.

  1. link
  2. link
  3. link
  4. link
  5. link
por Pranav V R 08.01.2018 / 12:06
0

A maneira mais simples de fazer isso seria simplesmente colocar a arte em um arquivo e, em seguida, echo it. Dessa forma, preserva a representação original no arquivo, para que você possa identificá-lo facilmente!

echo '         0000_____________0000________0000000000000000__000000000000000000+
        00000000_________00000000______000000000000000__0000000000000000000+   
       000____000_______000____000_____000_______0000__00______0+           
      000______000_____000______000_____________0000___00______0+           
     0000______0000___0000______0000___________0000_____0_____0+            
     0000______0000___0000______0000__________0000___________0+             
     0000______0000___0000______0000_________000___0000000000+              
     0000______0000___0000______0000________0000+                           
      000______000_____000______000________0000+                            
       000____000_______000____000_______00000+                             
        00000000_________00000000_______0000000+                            
          0000_____________0000________000000007'
    
por Chris Tompkinson 29.10.2015 / 11:05