#!/bin/bash

# Compare grapheme2phoneme transducer output 
# $1 --> user output (.g2p)
# $2 --> reference output (.g2p)

if [ "$1" ] && [ "$2" ]
then
if [ -e "$1" ]
then
if [ -e "$2" ]
then
	name=$(basename $1 .g2p)
	ref=$(basename $2 .g2p)

	echo ""
	echo -n "..multiple outputs found: "
	grep -c '[^1] out' $1
	echo "..create $name.multi"
	grep '[^1] out' $1 > $name.multi
	
	echo ""
	echo -n "..null outputs found: "
	grep -c '*' $1
	echo "..create $name.null"
	grep '*' $1 > $name.null

	cut -f3 $1 > $name.pho
	cut -f3 $2 > $ref.pho
	
	echo ""
	echo -n "..different outputs found: "
	diff --side-by-side --width=50 $name.pho $ref.pho | grep '^[^*]*[|]' > $name.diff1
	awk '$1!=$3 && $1!=$4 && $1!=$5 {print $0}' $name.diff1 > $name.diff
    	
	grep -c '|' $name.diff
	echo "..create $name.diff"
	
	rm {$name,$ref}.pho
	rm $name.diff1
else
    echo "..reference outputs $2 not found"
fi
else
    echo "..user output $1 not found"
fi
else
    echo "..Usage: compareg2p [file] [reference]"
fi
	

