Jj's web stream

/me gawks

If you are like many computer users, you would frequently like to make changes in various text files wherever certain patterns appear, or extract data from parts of certain lines while discarding the rest. To write a program to do this in a language such as C or Pascal is a time-consuming inconvenience that may take many lines of code. The job is easy with awk, especially the GNU implementation: gawk.

Hoy en el trabajo nos encontramos con la sorpresa de que una serie de archivos XML que habiamos generado con una herramienta usaban otra versión de DTD que el que utilizaba la otra herramienta con las cuales se usaban.

Teníamos que mover las propiedades de mas de 100 archivos y poner nombres de path en algunas y en otras no, asi que me pareció una oportunidad buenísima para aprender Awk. Por suerte tenía por ahí unos manuales y fué mucho mas sencillo de lo que esperé. Fué sólo añadir algunas reglas, cambiar los valores de FS, RS, OFS de acuerdo al caso y seguir la lógica normal que se usaría en cualquier algoritmo

Luego hice otro shell script para poder reemplazar todos los XML que me enviaron y todo salió perfecto.

Preferimos pensar que el tiempo que me demore en hacer el script fué menor al que me hubiera tomado reemplazar manualmente todos los archivos, además el script lo podemos volver a usar si generáramos mas archivos de la misma manera o para la próxima ya no me tomara tiempo aprender Awk ;)

Comments

breno: Creo que tu sigues usando Debian, por lo tanto seria que tu nawkeas, no gawkeas, ya que la implementación de AWK incluida en el base system de Debian es nawk y no gawk :D

Jj: De hecho, lo hice en un Suse, pero niteresante saber eso :o!