figlet: ASCII art

Siempre me ha gustado el ASCII art desde lo más básico hasta video usando ASCII pasando por demoscene. Para crear ASCII art hay que tener mucho arte (que no es lo mio) aunque ya hice varias versiones del logo de esta web en ASCII (pre dominio .info):

  __________                        _______                                                                   __    
 / __    __ \ ___                  (    __ \                                                ___  __        __(  )_
 \/  |  |  \/(   |____  /\____      \  \__\//\   /\_____    __  _/\  __/\  /\____   __  _/\(   ||__| ____/\_    _\
     |  |     |  /    \(  __  )      )  __) \ \_/ /\__  \  /  \(  / / _  \(  __  ) /  \(  / |  ||  |/  ___/  |  |
     |  |     |  ( )  | \   _/_     /  /__/\ \   /  / __ \ |      |( (_)  \   _/_ |      | |  ||  |\____ \  |  |
     \__/     \__) (__/  \_____\   (_______/  \_/  (____  )/ _)\__/ \___/  \_____\/ _)\__/ \__/|__|/ ____/  \__/
                                                        \/ \/       \_____/        \/               \/     

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

___ _ _  _    _ _  __  _ _  _ _ _  _  _ ___ 
 |  |-| |-   |- (  )|\ |\| / |- |  | (   |
 |  | | |_   |_  \/ |-\| |(_||_ |_ | _)  |

 _____  _   _  ___     ___ __   __  ___   _  _   ___  ___  _     ___  ___  _____ 
|_   _|| |_| || __|   | __|\ \ / / / _ \ | \| | / __|| __|| |   |_ _|/ __||_   _|
  | |  |  _  || _|    | _|  \ V / |  _  || .` || (_ || _| | |__  | | \__ \  | |  
  |_|  |_| |_||___|   |___|  \_/  |_| |_||_|\_| \___||___||____||___||___/  |_|  

 `#,        ,,                                                                  ,#`            `#,       
   ##.    ,#'                                                                  ,#' ,,            ##.    
,#'##''` ,#'      ,,,          ,,,  $,   #,   ,,    '#,:#$#.    ,,,     ,,,   ,#'   `   ,,,   ,#'##''`  
    ##$  #$'`#, .#'  `,      .#'  `, #,  ,$ .#  #;   :#   '#; .#'  `, .#'  `, :#    '#, $#  `     ##$   
    :#'  #:  '# ##,,.'       ##,,.'   #,,#' #'  '#   $#    '# ##.  ,# ##,,.'  $#    ,#!  '''.     :#'   
   ,'   ,#'   ','#:.,'       '#:.,'    ;'   "#,,$#,.,:'   ,#' '#:.,#: '#:.,' ,:'   ,#'  `:##'    ,'     
                                                                  ##"
                                                             .   ##' 
                                                              ````

Pero con figletpodemos crear banners ASCII de forma muy simple y sencilla. Primero debemos instalar el paquete en debian (apt-get install figlet) o en centos (rpm -ql figlet).

Tenemos varias opciones que podemos consultar en la ayuda (man figlet, recomiendo ver los ejemplos al final de la ayuda) pero quiero resaltar estas:

  • -t usa el ancho del terminal, muy útil para usar el ancho sin conocer cuantas columnas tiene.
  • -w ancho forzamos el ancho a lo que indiquemos en ancho (-w1 una letra por línea).
  • -f fuente indicamos que tipo de letra usar de las disponibles (-I2 para saber donde están las fuentes y cuales hay disponibles).
  • -k escribe las letras separadas, por defecto están unidas entre si.

Para ver como funciona unos ejemplos:

# figlet -t the-evangelist.info
 _   _                                                 _ _     _     _        __       
| |_| |__   ___        _____   ____ _ _ __   __ _  ___| (_)___| |_  (_)_ __  / _| ___  
| __| '_ \ / _ \_____ / _ \ \ / / _` | '_ \ / _` |/ _ \ | / __| __| | | '_ \| |_ / _ \ 
| |_| | | |  __/_____|  __/\ V / (_| | | | | (_| |  __/ | \__ \ |_ _| | | | |  _| (_) |
 \__|_| |_|\___|      \___| \_/ \__,_|_| |_|\__, |\___|_|_|___/\__(_)_|_| |_|_|  \___/ 
                                            |___/                                      
# figlet -k -t the-evangelist.info
 _    _                                                          _  _       _       _          __        
| |_ | |__    ___          ___ __   __ __ _  _ __    __ _   ___ | |(_) ___ | |_    (_) _ __   / _|  ___  
| __|| '_ \  / _ \ _____  / _ \ \ / // _` || '_ \  / _` | / _ \| || |/ __|| __|   | || '_ \ | |_  / _ \ 
| |_ | | | ||  __/|_____||  __/ \ V /| (_| || | | || (_| ||  __/| || |\__ \| |_  _ | || | | ||  _|| (_) |
 \__||_| |_| \___|        \___|  \_/  \__,_||_| |_| \__, | \___||_||_||___/ \__|(_)|_||_| |_||_|   \___/ 
                                                    |___/

# figlet -fscript -t the-evangelist.info
     _                                             _                         _       
    | |                                           | | o          o          | |      
_|_ | |     _      _        __,   _  _    __,  _  | |     , _|_      _  _   | |  __  
 |  |/ \   |/-----|/  |  |_/  |  / |/ |  /  | |/  |/  |  / \_|   |  / |/ |  |/  /  \_
 |_/|   |_/|__/   |__/ \/  \_/|_/  |  |_/\_/|/|__/|__/|_/ \/ |_/o|_/  |  |_/|__/\__/ 
                                           /|                               |\       
                                           \|                               |/    

Si queremos probar todas las fuentes que vienen por defecto podemos usar este mini script:

for n in $(figlet -I2)/*.flf; do figlet -t -f$(basename $n .flf) the-evangelist.info; done

Retro

Lugares

Redes

Sistemas

Varios