fix_ctm.sh 819 Bytes
#! /bin/bash

stmfile=$1
ctmfile=$2

segments_stm=`cat $stmfile | cut -f 1 -d ' ' | sort -u`
segments_ctm=`cat $ctmfile | cut -f 1 -d ' ' | sort -u`

segments_stm_count=`echo "$segments_stm" | wc -l `
segments_ctm_count=`echo "$segments_ctm" | wc -l `

#echo $segments_stm_count
#echo $segments_ctm_count

if [ "$segments_stm_count" -gt "$segments_ctm_count"  ] ; then
  pp=$( diff <(echo "$segments_stm") <(echo "$segments_ctm" ) | grep "^<" | sed "s/^< *//g")
  (
    for elem in $pp ; do
      echo "$elem 1 0 0 EMPTY_RECOGNIZED_PHRASE"
    done
  ) >> $ctmfile
  echo "FIXED CTM FILE"
  exit 0
elif [ "$segments_stm_count" -lt "$segments_ctm_count"  ] ; then
  echo "Segment STM count: $segments_stm_count"
  echo "Segment CTM count: $segments_ctm_count"
  echo "FAILURE FIXING CTM FILE"
  exit 1
else
  exit 0
fi