#!/bin/sh

HELPFILE="README"
INSERTTEXT="insert_my_words.txt"
STEAKVERZEICHNIS="."
DSTEAKVERZEICHNIS="."

test_datei_funktion ()
{
    grep -v -n "^.*[^ ] :: [^ ].*$" $1 > /tmp/test_datei$$
    grep -n "^.*::.*::.*$" $1 >> /tmp/test_datei$$
    if [ -s /tmp/test_datei$$ ]
    then
	echo "In der Datei" $1 "sind die folgenden Zeilen falsch formatiert!"
	cat /tmp/test_datei$$
	rm -f /tmp/test_datei$$
	exit 0
    else
	    
	rm -f /tmp/test_datei$$
#	cat "$1"
	echo
	echo "Es wurden keine Fehler entdeckt."
	echo "OK..."
    fi
}


clean_datei_funktion ()                 # Stellt den Urzustand der ger-eng.txt-Datei her. 
{
    if (grep "^.*::.*::.*$" $DSTEAKVERZEICHNIS/ger-eng.txt > /dev/null)
    then 
	cat $DSTEAKVERZEICHNIS/ger-eng.txt | awk -F"::" '{ print $2"::"$3 }' > /tmp/ger-eng.txt$$
	mv /tmp/ger-eng.txt$$ $DSTEAKVERZEICHNIS/ger-eng.txt
    fi
}    


#########################################################################


VARVERSION=0
VARTEST=0
VARHELP=0
VARINSERTF=0
VARD=0

for XXXSCHLEIFE
do
    case $XXXSCHLEIFE in
	-d)
	    VARD=1
	    shift
	    DSTEAKVERZEICHNIS="$1"
	    shift
	    ;;
	-insertf)
	    VARINSERTF=1
	    shift
	    INSERTTEXT="$1"
	    shift
	    ;;
	-v|-version)
	    VARVERSION=1
	    shift
	    ;;	    

	-t|-test)
	    VARTEST=1
	    shift
	    TESTDATEI="$1"
	    shift
	    ;;
	-c|-clean)
	    clean_datei_funktion
	    exit 0
	    ;;
	-h|-help)
	    VARHELP=1
	    shift
    esac
done


#####################################################################
if [ $VARHELP = "1" ]
then
    echo
    cat "$DSTEAKVERZEICHNIS"/"$HELPFILE"
    exit 0
fi
#####################################################################
if [ $VARVERSION = "1" ]
then
    echo
    HH=`grep "^GERMANENGLISHVERSION ::.*" $DSTEAKVERZEICHNIS/ger-eng.txt`
    if ( echo "$HH" | grep "^GERMANENGLISHVERSION ::GERMANENGLISHVERSION :: .*" > /dev/null )
    then 
	echo "Der Datensatz \"ger-eng.txt\" hat die Versionsnummer:"
	echo "$HH" | awk -F"::" '{ print "GERMANENGLISHVERSION :==" $3 }' 
    else
	if ( echo "$HH" | grep "^GERMANENGLISHVERSION :: .*" > /dev/null )
	then 
	    echo "Der Datensatz \"ger-eng.txt\" hat die Versionsnummer:"
	    echo "$HH" | awk -F"::" '{ print "GERMANENGLISHVERSION :==" $2 }' 
	else
	    echo "Der Datensatz enhaelt keine Versionsnummer!!!"
	fi	
    fi	    
    echo
    exit 0
fi
######################################################################
if [ $VARTEST = "1" ]
then
    echo
    echo "Jetzt wird die angegebene Datei nach dem richtigen Format geprueft!"
    echo
#    test_datei_funktion "$DSTEAKVERZEICHNIS"/"$TESTDATEI"
    test_datei_funktion "$TESTDATEI"
    echo
    exit 0
fi









#######################################################################
echo
echo "Jetzt wird der Datensatz \"ger-eng.txt\" aktualisiert!"
echo
ls -l $DSTEAKVERZEICHNIS/ger*.txt

clean_datei_funktion

test_datei_funktion $DSTEAKVERZEICHNIS/ger-eng.txt
if [ $VARINSERTF = "0" ]
then 
    INSERTTEXT="$DSTEAKVERZEICHNIS"/"$INSERTTEXT"
fi

test_datei_funktion "$INSERTTEXT"

cat $INSERTTEXT >> $DSTEAKVERZEICHNIS/ger-eng.txt

sort $DSTEAKVERZEICHNIS/ger-eng.txt > /tmp/ger-eng.txt$$
uniq /tmp/ger-eng.txt$$ > /tmp/ger-eng.txt1$$
awk -F"::" '{print $1":"}' /tmp/ger-eng.txt1$$ | sed -f $DSTEAKVERZEICHNIS/../iso2txt > /tmp/ger-eng.txt$$
paste -d":" /tmp/ger-eng.txt$$ /tmp/ger-eng.txt1$$ > $DSTEAKVERZEICHNIS/ger-eng.txt

(test -e /tmp/ger-eng.txt$$) && (rm /tmp/ger-eng.txt$$)
(test -e /tmp/ger-eng.txt1$$) && (rm /tmp/ger-eng.txt1$$)

echo
ls -l $DSTEAKVERZEICHNIS/ger*.txt
echo
