#!/bin/sh FILE_PARSE="${1:-keywords.pl}" FILE_WRITE="${2:-keywords.h}" while read -r LINE; do case "$LINE" in NULL) EMIT=true ;; esac case "$EMIT" in true) printf "%s_%s %d\n" '#define KEY' "$LINE" "$I" I=$((I+1)) ;; esac done <"$FILE_PARSE" >"$FILE_WRITE"