Diversión de Linux: cómo crear pancartas de texto ASCII en la terminal


Recientemente, hemos explicado cómo mostrar aleatoriamente arte ASCII predefinido en el terminal Linux, usando un programa llamado ASCII-Art-Splash-Screen. En este artículo, mostraremos cómo crear sus propios banners de texto ASCII atractivos a partir de texto sin formato, utilizando dos utilidades de línea de comandos llamadas FIGlet y TOIlet.

FIGlet es una utilidad de línea de comandos simple para crear pancartas de texto ASCII o letras grandes a partir de texto ordinario, mientras que TOIlet (un subcomando de figlet) es una utilidad de línea de comandos para crear caracteres grandes y coloridos a partir de texto ordinario.

Cómo instalar y usar las herramientas Figlet y Toilet en Linux

Para usar las herramientas FIGlet y TOIlet juntas, primero debe instalarlas en su sistema Linux usando el administrador de paquetes predeterminado como se muestra.

$ sudo apt install figlet toilet    [On Debian/Ubuntu]
$ sudo yum install figlet toilet    [On CentOS/RHEL]
$ sudo dnf install figlet toilet    [On Fedora 22+]

Una vez instalado, la forma básica de usar figlet es proporcionando como argumento, el texto que desea transformar como banner o texto grande, como se muestra.

$ figlet TecMint.com

 _____         __  __ _       _                        
|_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
  | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
  | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
  |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

Si desea que la salida se cree en el centro, use la marca -c como se muestra.

$ figlet -c TecMint.com

             _____         __  __ _       _                        
            |_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
              | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
              | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
              |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

Además, utilice también -l para configurar la salida a la izquierda o -r para imprimirla a la derecha.

También puede controlar el ancho de salida con el interruptor -w , el ancho predeterminado es de 80 columnas.

$ figlet -w 100 I Love TecMint.com

 ___   _                     _____         __  __ _       _                        
|_ _| | |    _____   _____  |_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
 | |  | |   / _ \ \ / / _ \   | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
 | |  | |__| (_) \ V /  __/   | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
|___| |_____\___/ \_/ \___|   |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

Si tiene un terminal más ancho, puede usar el ancho completo de su terminal con el interruptor -t .

$ figlet -t TecMint.com

Para una salida más clara, puede usar el indicador -k para agregar un pequeño espacio entre los caracteres impresos: observe la diferencia entre la salida anterior y la siguiente como se muestra.

$ figlet -t -k I Love TecMint.com

 ___   _                        _____            __  __  _         _                            
|_ _| | |     ___ __   __ ___  |_   _|___   ___ |  \/  |(_) _ __  | |_     ___  ___   _ __ ___  
 | |  | |    / _ \\ \ / // _ \   | | / _ \ / __|| |\/| || || '_ \ | __|   / __|/ _ \ | '_ ` _ \ 
 | |  | |___| (_) |\ V /|  __/   | ||  __/| (__ | |  | || || | | || |_  _| (__| (_) || | | | | |
|___| |_____|\___/  \_/  \___|   |_| \___| \___||_|  |_||_||_| |_| \__|(_)\___|\___/ |_| |_| |_|

En lugar de escribir su texto en la línea de comandos, puede leer el texto de un archivo, usando la opción -p como se muestra.

$ echo "I wish I could chmod 644 my Girlfriend" >girlfriend.txt
$ figlet -kp < girlfriend.txt

 ___             _       _       ___                      _      _ 
|_ _| __      __(_) ___ | |__   |_ _|   ___  ___   _   _ | |  __| |
 | |  \ \ /\ / /| |/ __|| '_ \   | |   / __|/ _ \ | | | || | / _` |
 | |   \ V  V / | |\__ \| | | |  | |  | (__| (_) || |_| || || (_| |
|___|   \_/\_/  |_||___/|_| |_| |___|  \___|\___/  \__,_||_| \__,_|
                                                                   
       _                            _    __    _  _    _  _   
  ___ | |__   _ __ ___    ___    __| |  / /_  | || |  | || |  
 / __|| '_ \ | '_ ` _ \  / _ \  / _` | | '_ \ | || |_ | || |_ 
| (__ | | | || | | | | || (_) || (_| | | (_) ||__   _||__   _|
 \___||_| |_||_| |_| |_| \___/  \__,_|  \___/    |_|     |_|  
                                                              
                     ____  _        _   __        _                   _  
 _ __ ___   _   _   / ___|(_) _ __ | | / _| _ __ (_)  ___  _ __    __| | 
| '_ ` _ \ | | | | | |  _ | || '__|| || |_ | '__|| | / _ \| '_ \  / _` | 
| | | | | || |_| | | |_| || || |   | ||  _|| |   | ||  __/| | | || (_| | 
|_| |_| |_| \__, |  \____||_||_|   |_||_|  |_|   |_| \___||_| |_| \__,_|

Puede especificar otra fuente, usando el indicador -f , la fuente es un archivo .flf o .tlf almacenado en/usr/share/figlet . Puede consultar las fuentes disponibles como tal.

$ ls /usr/share/figlet/

646-ca2.flc  646-es.flc   646-kr.flc   646-yu.flc  8859-9.flc	   
646-ca.flc   646-fr.flc   646-no2.flc  8859-2.flc  ascii12.tlf	   
646-cn.flc   646-gb.flc   646-no.flc   8859-3.flc  ascii9.tlf	  
646-cu.flc   646-hu.flc   646-pt2.flc  8859-4.flc  banner.flf	   
646-de.flc   646-irv.flc  646-pt.flc   8859-5.flc  bigascii12.tlf  
646-dk.flc   646-it.flc   646-se2.flc  8859-7.flc  bigascii9.tlf  
646-es2.flc  646-jp.flc   646-se.flc   8859-8.flc  big.flf	   

Luego use una fuente en particular, por ejemplo, uso la fuente slant.tlf como se muestra.

$ figlet -f slant "Sudo I Love You"

   _____           __         ____   __                       __  __           
  / ___/__  ______/ /___     /  _/  / /   ____ _   _____      \ \/ /___  __  __
  \__ \/ / / / __  / __ \    / /   / /   / __ \ | / / _ \      \  / __ \/ / / /
 ___/ / /_/ / /_/ / /_/ /  _/ /   / /___/ /_/ / |/ /  __/      / / /_/ / /_/ / 
/____/\__,_/\__,_/\____/  /___/  /_____/\____/|___/\___/      /_/\____/\__,_/

Use TOIlet para crear pancartas de texto ASCII de colores

El comando de baño también se usa para transformar texto en caracteres ASCII grandes. La forma más sencilla de ejecutarlo es la siguiente.

$ toilet TecMint.com

mmmmmmm               m    m   "             m                               
   #     mmm    mmm   ##  ## mmm    m mm   mm#mm          mmm    mmm   mmmmm 
   #    #"  #  #"  "  # ## #   #    #"  #    #           #"  "  #" "#  # # # 
   #    #""""  #      # "" #   #    #   #    #           #      #   #  # # # 
   #    "#mm"  "#mm"  #    # mm#mm  #   #    "mm    #    "#mm"  "#m#"  # # #  

Para cambiar a una fuente en particular, use la opción -f , también lee fuentes de la misma fuente que figlet.

$ toilet -kf script TecMint.com

 ______       ,__ __                                       
(_) |        /|  |  |  o                                   
    | _   __  |  |  |      _  _  _|_   __   __   _  _  _   
  _ ||/  /    |  |  |  |  / |/ |  |   /    /  \_/ |/ |/ |  
 (_/ |__/\___/|  |  |_/|_/  |  |_/|_/o\___/\__/   |  |  |_/

Varias de las opciones para figlet que hemos visto anteriormente también se aplican al inodoro. Para obtener más información, consulte sus páginas de manual.

$ man figlet
$ man toilet

En este artículo, analizamos dos utilidades de línea de comandos para transformar texto en caracteres de texto ASCII grandes, útiles para crear pancartas o mensajes. Comparta sus pensamientos sobre estos comandos a través del formulario de comentarios a continuación.