Sunday, November 14, 2021

apareando archivos de texto

Les presento a comm

Una poderosa herramienta para procesar archivos de texto que es parte del paquete GNU coreutils.


Comm compara dos archivos de texto línea por línea. Estos archivos deben estar ordenados.

Genera una salida en tres columnas, La primera de las columnas tiene los únicos del primer archivos, la segunda columna los datos únicos del segundo archivo y la tercer columna los datos comunes.

El separador de columnas por defecto es el tabulador pero se puede cambiar facilmente especificando el separador con --output-delimiter=STR

Otra opción interesante es mostrar el total de cada columna con --total.

También se pueden omitir algunas columnas.... Especificando -1 se omite la columna 1. especificando -12 quedan solamente los datos comunes del archivo!

la ayuda se puede visualizar ejecutando:

$ comm --help

man comm

otras herramientas que complementan a comm son unique y sort




Wednesday, May 26, 2021

Decorando la pantalla de una aplicación Ruby/TK

 Decorando la pantalla de una aplicación Ruby/TK


    Lo que aparenta ser un problema trivial es bastante complicado de resolver ya que la solución no se encuentra googleando.

    Hay muchísimos programadores que se han encontrado con el problema y no hay ejemplos en ningún idioma de como implementar la solución.

    Se trata de poner un ícono o cambiar el ícono que está por default en una solución desarrollada con Ruby/TK

    El quid de la cuestión está en el método Wm.iconphoto que está definido en el archivo wm.rb. (/var/lib/gems/2.5.0/gems/tk-0.4.0/lib/tk/wm.rb en mi GNU/Linux) 

esta es la solución:

require 'tk'
root = TkRoot.new;
path_imagen = './ruby.gif'
image_w = TkPhotoImage.new(:file => path_imagen)
Tk::Wm.iconphoto(root, image_w)
Tk.mainloop


y este es el resultado: