/usr/bin/pmlgrep is in photoml 0.28-0ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #! /bin/sh
# This script provides a grep-like utility for PhotoML files
# Copyright © 2003-2007 Brendt Wohlberg <photoml@wohlberg.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License at
# http://www.gnu.org/licenses/gpl-2.0.txt.
#
# This program 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
# General Public License for more details.
# Most recent modification: 14 January 2008
pmlpath="/usr/share/photoml"
if [ ! "`which xsltproc 2>/dev/null`" ]; then
echo "pmlgrep: error executing xstlproc" >&2
exit 1
fi
if [ ! "`which xgrep 2>/dev/null`" ]; then
echo "pmlgrep: error executing xgrep" >&2
exit 1
fi
usage()
{
cat <<EOF >&2
usage: pmlgrep [-h] [-e] [-p] [-x xpath] [-s regex] ... [-s regex]
infile [infile] ...
-h Display usage information
-e Expand defaults before searching
-p Use perl regular expressions
-x xpath Find nodes matching xpath
-s regex Find nodes matching custom syntax used by xgrep
EOF
}
xflags=''
expand=0
while [ $# -ge 1 ]; do
case $1 in
-e) expand=1 ;;
-p) xflags="$xflags -p" ;;
-x) shift; xflags="$xflags -x $1" ;;
-s) shift; xflags="$xflags -s $1" ;;
-*) usage; exit 1 ;;
*) break ;;
esac
shift
done
if [ "$1" = '' ]; then
usage; exit 1
fi
xsl=$pmlpath/xsl/defaults/expand.xsl
if [ -r /etc/xml/catalog -a "$XML_CATALOG_FILES" = '' ]; then
XML_CATALOG_FILES=/etc/xml/catalog
fi
XML_CATALOG_FILES="$pmlpath/dtd/catalog.xml $XML_CATALOG_FILES"
export XML_CATALOG_FILES
unset SGML_CATALOG_FILES
if [ $expand -eq 1 ]; then
tmpfile="/tmp/pmlgrep.$$"
for src in $@; do
if [ ! -f "$src" -o ! -r "$src" ]; then
echo "pmlgrep: could not open file $src" >&2
exit 1
fi
xsltproc -o $tmpfile $xsl $src
xgrep -c "$pmlpath/dtd/catalog.xml" $xflags $tmpfile
done
rm -f $tmpfile
else
xgrep -c "$pmlpath/dtd/catalog.xml" $xflags $@
fi
exit 0
|