#! /bin/bash if [ $# -lt 2 ] then echo "Usage:" echo " compdic-update-cats ..." echo "where" echo " - file containing the list morphosyntactic categories" echo " - diff-format file containing lines to be added to/removed from dictionary" exit 0 fi tempdir=`mktemp -d /tmp/compdic.XXXXXX` cats=$1 shift catplus=$tempdir/plus.cat catminus=$tempdir/minus.cat cattmp=$tempdir/tmp.cat touch $catplus touch $catminus while (($#)) do echo processing $1 ... cat $1 | egrep '^>' | sed -r 's/^> *//;s/[[:space:]].*$//' | cut -d ',' -f 2 | sort -u | canonize >> $catplus cat $1 | egrep '^<' | sed -r 's/^< *//;s/[[:space:]].*$//' | cut -d ',' -f 2 | sort -u | canonize >> $catminus shift done echo updating $cats ... # comm -23 $cats $catminus > $cattmp # mv ${cats} ${cats}~ # cat $cattmp $catplus | sort -u > $cats cat $cats $catplus | sort -u > $cattmp mv ${cats} ${cats}~ mv ${cattmp} ${cats} chmod a+r ${cats} rm -r $tempdir