Script bash para crear archivos CSV para cada global incluido en un archivo exportado %GOGEN desde Cache

Solapas principales

Esta es la traducción del artículo original.

¡Hola Comunidad!

Solo por diversión, creé un script de bash que genera archivos csv a partir de un archivo exportado %GOGEN.
(%GOGEN es la herramienta para exportar globales para Cache 5.xx)

Al principio creí que sería muy simple con bash, pero...
- si se quiere tener un encabezado en el archivo csv
- si se exportan con GOGEN más globales juntos, no solo uno
- si se desea un archivo csv para cada global/índice que tiene el global...

El simple script de bash se pasa de 100 líneas de código. Si volviera a empezar con esto, usaría Python o Go, no bash.

Ejemplo:
Para un archivo EXPORTED.GLO

Transferring files on Mar 30 2019 at 10:24 AM
^ALD(20190330
^ALD(20190330, "A", 99730)
20190330#20190330#20190330#392224##3020#0##1##1#1#N#500#1# 9:01# 9:01##TLP1####S##3#0#0###N#S##2#D##N###A######0#0#0#0#0#0#0#0#0#0#0#0#0#0###0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#######1###############################
^ALD(20190330,"A",99730,"CP",1)
3#BONIFICACION TERMINAL#1###F#L#A#N###S#
^ALD(20190330,"A",99730,"CT")
TER GZA EL#AV TRE 25#ZAMORA#49008#49#ZAMORA#P1#VALLADOLID#46P#1#49


El script genera 3 archivos csv. Uno para registros con 3 índices, otro para registros con 4 índices y otro para 5 índices:

  • global ALD con 3 índices

global-EXPORTED_3.csv

Index1;Index2;Index3;Data1;Data2;Data3;Data4;Data5;Data6;Data7;Data8;Data9;Data10;Data11;Data12;Data13;Data14;Data15;Data16;Data17;Data18;Data19;Data20;Data21;Data22;Data23;Data24;Data25;Data26;Data27;Data28;Data29;Data30;Data31;Data32;Data33;Data34;Data35;Data36;Data37;Data38;Data39;Data40;Data41;Data42;Data43;Data44;Data45;Data46;Data47;Data48;Data49;Data50;Data51;Data52;Data53;Data54;Data55;Data56;Data57;Data58;Data59;Data60;Data61;Data62;Data63;Data64;Data65;Data66;Data67;Data68;Data69;Data70;Data71;Data72;Data73;Data74;Data75;Data76;Data77;Data78;Data79;Data80;Data81;Data82;Data83;Data84;Data85;Data86;Data87;Data88;Data89;Data90;Data91;Data92;Data93;Data94;Data95;Data96;Data97;Data98;Data99;Data100;Data101;Data102;Data103;Data104;Data105;Data106;Data107;Data108;Data109;Data110;Data111;Data112;Data113;Data114;Data115;Data116;
20190330;"A";99730;20190330;20190330;20190330;392224;;3020;0;;1;;1;1;N;500;1; 9:01; 9:01;;TLP1;;;;S;;3;0;0;;;N;S;;2;D;;N;;;A;;;;;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Data116 es la cantidad máxima de columnas que tienen los registros con 3 índices.

- global ALD con 5 índices
global-EXPORTED_5.csv

Index1;Index2;Index3;Index4;Index5;Data1;Data2;Data3;Data4;Data5;Data6;Data7;Data8;Data9;Data10;Data11;Data12;Data13;
20190330;"A";99730;"CP";1;3;BONIFICACION TERMINAL;1;;;F;L;A;N;;;S;


- global ALD con 4 índices
global-EXPORTED_4.csv

Index1;Index2;Index3;Index4;Data1;Data2;Data3;Data4;Data5;Data6;Data7;Data8;Data9;Data10;Data11;Data12;Data13;Data14;Data15;Data16;Data17;
20190330;"A";99730;"CT";TER GZA EL#AV TRE 25#ZAMORA#49008#49#ZAMORA#P1#VALLADOLID#46P#1#49


El código fuente está aquí:
http://www.sistemasoperativos.org/crear-ficheros-csv-a-partir-de-uno-exp...
 

Espero que os haya resultado interesante.