-#!/bin/bash
+#!/bin/sh
#
# Parse the object names out of Nagios' xdata/xodtemplate.h, and
# convert them to their definition format.
EXIT_USAGE=1
EXIT_INPUT_FILE_DOESNT_EXIST=2
-EXIT_OUTPUT_FILE_EXISTS=3
-if [ $# -lt 2 ]; then
- echo "Usage: $0 <input_file> <output_file>"
+if [ $# -lt 1 ]; then
+ echo "Usage: $0 <input_file>"
exit $EXIT_USAGE
fi
INFILE="$1"
-OUTFILE="$2"
if [ ! -f "$INFILE" ]; then
echo "Error: input file $INFILE doesn't exist."
exit $EXIT_INPUT_FILE_DOESNT_EXIST
fi
-if [ -f "$OUTFILE" ]; then
- echo "Error: output file $OUTFILE already exists."
- exit $EXIT_OUTPUT_FILE_EXISTS
-fi
-
-# Common options. Color screws up the output.
-GREP="grep --extended-regexp --color=never"
-
# Grep grabs all of the "#define XODTEMPLATE_..." lines, except for
# XODTEMPLATE_NONE, which ain't real.
#
# Oh and we sort everything, add "define ", and surround each line with
# quotes, because we can get away with it here.
#
-$GREP --only-matching '[[:space:]]XODTEMPLATE_[[:alnum:]_]+' "$INFILE" \
- | $GREP -v 'XODTEMPLATE_NONE' \
- | sed 's/ XODTEMPLATE_//g' \
- | tr '[A-Z]' '[a-z]' \
- | sort \
- | sed -e 's/^/\"define /g' -e 's/$/\"/g' >> "$OUTFILE"
+grep --only-matching '[[:space:]]XODTEMPLATE_[[:alnum:]_]\{1,\}' "$INFILE" \
+ | grep -v 'XODTEMPLATE_NONE' \
+ | sed 's/ XODTEMPLATE_//g' \
+ | tr '[A-Z]' '[a-z]' \
+ | sort \
+ | sed -e 's/^/\"define /g' -e 's/$/\"/g'