- - PR -
スクリプトでwine
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-30 17:33
wineを使ってxdoc2txtというテキスト抽出プログラムをdebian上で使おうとしています。
Hyper Estraierのフィルタとして作成したスクリプトファイルは単独で使用すると意図した結果の出力をしてくれます。 ところがHyper Estraierのestcmdコマンドから呼び出すと全く機能せず困っております。 問題の切り分けとして問題のスクリプトファイルを一時的にxlhtmlで動かす様に書き換えると問題なくテキスト出力がなされてインデックス化されていますので、 おそらくwine xdoc2txt.exe <option> <file>という部分の組み合わせ方が問題ではないかと思っていますが、四苦八苦しています。 お助けください。 #! /bin/bash PATH="$PATH:/usr/local/sbin:/usr/local/lib/wine:/usr/X11R6/bin:${HOME}/.wine/drive_c/windows/system32:${HOME}/.wine" ; export PATH LANG="ja_JP.UTF-8" ; export LANG LC_CTYPE="ja_JP.UTF-8" ; export LC_CTYPE LC_MONETARY="ja_JP.UTF-8" ; export LC_MONETARY LC_NUMERIC="ja_JP.UTF-8" ; export LC_NUMERIC LC_COLLATE="ja_JP.UTF-8" ; export LC_COLLATE LC_TIME="ja_JP.UTF-8" ; export LC_TIME WINEPREFIX="${HOME}/.wine" ; export WINEPREFIX progname="estfxdoc2txt" WINE="/usr/local/bin/wine" XDOC2TXT="/usr/local/sbin/xdoc2txt.exe" ICONV="/usr/local/bin/iconv" SED="/bin/sed" # check arguments if [ $# -lt 1 ] then printf '%s: usage: %s infile [outfile]\n' "$progname" "$progname" 1>&2 exit 1 fi infile="$1" outfile="$2" if [ -n "$ESTORIGFILE" ] && [ -f "$ESTORIGFILE" ] then infile="$ESTORIGFILE" fi # check the input if [ "!" -f "$infile" ] then printf '%s: %s: no such file\n' "$progname" "$infile" 1>&2 exit 1 fi # initialize the output file if [ -n "$outfile" ] then rm -f "$outfile" fi # function to output output(){ if [ -n "$outfile" ] then cat >> "$outfile" else cat fi } # output the result #$WINE $XDOC2TXT -p "$infile" 2> "/dev/null" | $ICONV -f CP932 -t UTF-8 -c | $SED -e 's/^\n//g' -e 's/^M//g' | output #$WINE $XDOC2TXT -n -r=0 -o=1 "$infile" 2> "/dev/null" | $ICONV -f CP932 -t UTF-8 -c | $SED -e 's/ //g' -e 's/^M//g' | cat > $outfile #上記の様にしたかったのですが、検証用にしています。 $WINE $XDOC2TXT -n -r=0 -o=1 \"$infile\" | output # exit normally exit 0 このスクリプトを次のコマンドを記入したスクリプトファイルで呼んでいます。 estcmd gather -il ja -fx ".xls" "T@estfxdoc2txt" -fz -sd -cm -um -pc UTF-8 -cs 400 -lf 64 $index $target 暫定的にxlsのみを対象としています。 よろしくお願いいたします。 |
1