#! /bin/bash -eu
# Last edited on 2026-01-16 18:43:53 by stolfi

indir="$1"; shift
otdir="$1"; shift

# For each file "{in-dir}/{SEC}-{TYP}.ivt", parses the {DAT} fields of each line
# into elements, delimited by braces.  Writes the result as "{otdir}/{SEC}-{TYP}.ivt".

sts=( $(cd ${indir}/ && ls ???-??????.ivt | sed -e 's:[.]evt::g' ) )

echo "PARSING WORDS INTO ELEMENTS ..." 1>&2

??? cat ${JOIN_EVT_FILE} \
???   | factor_field_general.gawk \
???      -f factor_text_25e1_eva_to_elems.gawk \
???      -v inField=2 \
???      -v outField=2 \
???      -v erase=1 \
???   > ${JOIN_EVE_FILE}
??? 
??? wc -l ${JOIN_EVE_FILE}

mkdir -p ${otdir}
rm -f ${otdir}/*-*.ivt ${otdir}/*-*.wff

for st in ${sts[@]}; do
???   ifile="${indir}/${st}.ivt"
???   ofile="${otdir}/${st}.etx"
???   echo "=== ${ifile} -> ${ofile} ===" 1>&2
???   cat ${ifile} \
???     | validate_25e1_evt_format.gawk \
???        -v validChars='abcdefghijklmnopqrstuvxyz' \
???        -v requireUnitHeaders=0 \
???        -v requirePageHeaders=0 \
???        -v checkLineOrder=0
???   
???   cat ${ifile} \
???     | factor_field_general.gawk \
???        -f factor_text_25e1_eva_to_elems.gawk \
???        -v inField=2 \
???        -v outField=2 \
???        -v erase=1 \
???     > ${ofile}
??? 
done
