imagen

De calendarios ics a fichero de texto

30.Dec.2025 — Julio

Se trata de hacer un script en bash/awk que dados varios calendarios en formato ics genere un fichero de texto muy similar a esta estructura

https://terokarvinen.com/2021/calendar-txt/

En un principio hice el script para que simplemente cogiera fecha y asunto del .ics. Eran pocas lineas.
Pero siempre se quiere mejorar por lo que lo adapté para:

  • poder tratar masivamente y de una vez más de un .ics y con todos ellos generar un único fichero de texto.
  • para una misma fecha puede haber más de un evento, en el fichero de texto tiene que ir todo en una línea
  • calendario de cumpleaños:
    • que ponga en el asunto los años que cumple
    • cuidado cuando no se sabe el año pero sí el dia y el mes
  • eventos con frecuencia, solo cojo los anuales. Genero además ya el registro para el año que viene.
  • rellenar en el fichero los días que no tienen eventos, con su dia de la semana.

Todo esto derivó en un script con unas cuantas funciones y más de 150 líneas.

Más complicado fue dónde guardar este fichero resultante, dónde poner la tarea programada en macos (vaya suplicio comparado con un simple "crontab -e" del linux), cómo actualizar de forma rápida los cambios y por último el método de obtener de varias formas el fichero txt resultante.

El resultado está bien pues además me creé un alias "h" para que me listara en pantalla los x dias más cercanos con sus eventos a partir de la fecha del día.

¿no es más fácil coger el móvil y abrir la app del calendario? sí. Pero si estás trabajando en el ordenador y con un terminal abierto, teclear "h" es más rápido que incluso con el ratón pinchar en el icono.

calendar.txt

Tags: bash, awk