Apertium-view.sh

From Apertium
Revision as of 08:35, 20 July 2011 by Unhammer (talk | contribs) (Created page with '<pre> #!/bin/bash ARGS=$(getopt "uad:" $*); set -- $ARGS; for i; do case "$i" in -d) shift; DIRECTORY=$1; shift;; -u) UWORDS="no"; shift;; -a) OPTION_TAGGER="-m";…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
#!/bin/bash

ARGS=$(getopt "uad:" $*);
set -- $ARGS;
for i; do
  case "$i" in 
    -d) shift; DIRECTORY=$1; shift;;
    -u) UWORDS="no"; shift;;
    -a) OPTION_TAGGER="-m"; shift;;
    --) shift; break;;
  esac;
done;
if [ "$UWORDS" = "no" ]; then OPTION="-n"; else OPTION="-g"; fi;

case "$#" in 
     1) PAIR=$1;;
     *) echo 'error'; exit;;
esac;

TEEMODE=`mktemp teemode.XXXXXXXX`;
MODE=$DIRECTORY/modes/$1.mode;
i=1;
tr '|' '\n' < "$MODE" | grep -v '^\s*$' | while read cmd;
do
    if [ $i -ne 1 ]; then echo -n "|"; fi
    echo -n $cmd " | tee /tmp/apertium-view-$i.out " ;
    (( i = $i + 1 ));
done > "$TEEMODE";
echo '' >> $TEEMODE;

# Run translation:
bash "$TEEMODE" $OPTION $OPTION_TAGGER >/dev/null;

# Print all stages:
tr '|' '\n' < "$TEEMODE" | sed "s/\$1/$OPTION/
s/\$2/$OPTION_TAGGER/" |\
awk -F'tee ' '# Every other line should be a tee, then a command
/tee \/tmp\/apertium-view-/ {while(("cat "$2 | getline line)>0){print line;};print ""; next}
//                          {$0="| "$0" |"; 
                             s=sprintf("%"length($0)"s","");gsub(" ","_",s);print s; # pretty
                             print;
                             s=sprintf("%"length($0)"s","");gsub(" ","‾",s);print s; # pretty
			     }' 


rm -f "$TEEMODE";