149 lines
3.6 KiB
Bash
Executable File
149 lines
3.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# m17n-db -- print information about the m17n database.
|
|
# Copyright (C) 2004, 2005
|
|
# National Institute of Advanced Industrial Science and Technology (AIST)
|
|
# Registration Number H15PRO112
|
|
# See the end for copying conditions.
|
|
|
|
prefix=/usr
|
|
datadir=${prefix}/share
|
|
|
|
help ()
|
|
{
|
|
echo "Usage: $0 [ OPTIONS ] [ TAG0 [ TAG1 [ TAG2 [ TAG3 ] ] ] ]"
|
|
echo "Options:"
|
|
echo " -h, --help Print this information."
|
|
echo " -v, --version Print the version number."
|
|
echo " -l, --locate Print absolute pathnames of database files."
|
|
echo " TAG0 through TAG3 specifies the tags of the database."
|
|
echo "With no options, print the installed directory name."
|
|
}
|
|
|
|
if test $# -gt 0; then
|
|
case "$1" in
|
|
-h | --help) help; exit 0;;
|
|
-v | --version) echo "1.8.0"; exit 0;;
|
|
-l | --locate) DIRFILE="$datadir/m17n/mdb.dir"; shift;;
|
|
*) help; exit 1;;
|
|
esac
|
|
fi
|
|
|
|
if test -z "$DIRFILE" ; then
|
|
echo $datadir/m17n
|
|
exit 0
|
|
fi
|
|
|
|
if test ! -f "$DIRFILE"; then
|
|
echo "Can't find the m17n database directory file \"$DIRFILE\"!"
|
|
exit 1
|
|
fi
|
|
|
|
if test -z "$1"; then
|
|
help
|
|
exit 1
|
|
fi
|
|
|
|
TAG0=$1
|
|
TAG1=$2
|
|
if test -z "$TAG1"; then
|
|
TAG1="*"
|
|
fi
|
|
TAG2=$3
|
|
if test -z "$TAG2"; then
|
|
TAG2="*"
|
|
fi
|
|
TAG3=$4
|
|
if test -z "$TAG3"; then
|
|
TAG3="*"
|
|
fi
|
|
|
|
SPC="[ ]*"
|
|
ANY="$SPC\([A-Za-z*][^ )]*\)\?"
|
|
|
|
TAGS="$SPC\($TAG0\)$SPC$ANY$SPC$ANY$SPC$ANY"
|
|
FILE="$SPC\"\([^\"]*\)\""
|
|
ENTRIES=`sed -n "/$TAG0/s|$SPC($TAGS$FILE).*$|/\1/\2/\3/\4/\5|p" $DIRFILE`
|
|
|
|
cd $datadir/m17n
|
|
|
|
for e in $ENTRIES; do
|
|
FN=`expr "$e" : "/[^/]*/[^/]*/[^/]*/[^/]*/\(.*\)"`
|
|
case "$e" in
|
|
/$TAG0/\*/*/* | /$TAG0/*/\*/* | /$TAG0/*/*/\*)
|
|
for f in $FN; do
|
|
if test -f $f; then
|
|
ENTRY=`sed -n "/$TAG0/s|$SPC($TAGS).*$|/\1/\2/\3/\4|p" $f`
|
|
if test -n "$ENTRY"; then
|
|
LIST="$LIST $ENTRY/$f"
|
|
fi
|
|
fi
|
|
done;;
|
|
*)
|
|
if test -f $FN; then
|
|
LIST="$LIST $e"
|
|
fi;;
|
|
esac
|
|
done
|
|
|
|
for l in $LIST; do
|
|
case "$l" in
|
|
/$TAG0/$TAG1/$TAG2/$TAG3)
|
|
FN=`expr "$l" : "/[^/]*/[^/]*/[^/]*/[^/]*/\(.*\)"`
|
|
echo "`pwd`/$FN"
|
|
esac
|
|
done
|
|
|
|
exit 0
|
|
|
|
cat > /dev/null <<EOF
|
|
/***en @page m17n-db Print information about the m17n database */
|
|
/***ja @page m17n-db m17n データベースの情報を表示 */
|
|
|
|
/***
|
|
@section m17n-db-synopsis SYNOPSIS
|
|
|
|
m17n-db [ OPTIONS ] [ TAG0 [ TAG1 [ TAG2 [ TAG3 ] ] ] ]
|
|
|
|
@section m17n-db-description DESCRIPTION
|
|
|
|
The shell script m17n-db prints information about the m17n database.
|
|
|
|
The arguments OPTIONS has the following meanings.
|
|
|
|
- -h, --help\n
|
|
Print this information.
|
|
- -v, --version\n
|
|
Print the version number.
|
|
- -l, --locate\n
|
|
Print absolute pathnames of database files.\n
|
|
TAG0 through TAG3 specifies the tags of the database.
|
|
|
|
With no arguments, print where the m17n database is installed. */
|
|
EOF
|
|
|
|
# Copyright (C) 2004
|
|
# National Institute of Advanced Industrial Science and Technology (AIST)
|
|
# Registration Number H15PRO112
|
|
|
|
# This file is part of the m17n database; a sub-part of the m17n
|
|
# library.
|
|
|
|
# The m17n library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public License
|
|
# as published by the Free Software Foundation; either version 2.1 of
|
|
# the License, or (at your option) any later version.
|
|
|
|
# The m17n library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the m17n library; if not, write to the Free
|
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
# Boston, MA 02110-1301, USA.
|
|
|
|
# Local Variables:
|
|
# coding: utf-8
|
|
# End:
|