#!/bin/bash # Extract all parameter entity names declared by a DTD # # Not guaranteed to do it all right: # Doesn't handle parameter entities, marked sections, comments. # Doesn't handle any external files included # (to get these, list them on the command line) # # Steven J. DeRose 2006-04-18, sderose\@acm.org, sderose@acm.org # tr -s '\011 ' # normalize whitespace if [ "$1" = "-h" ]; then echo "Extract all parameter entity names declared by a DTD." exit fi cat $* |\ sed 's/(<.ENTITY[^>]+)\n/\1 /' |\ sed 's/[ \t]*<.ENTITY/<.ENTITY/g' |\ sed "s/\(<.ENTITY\)[ ]*/\1 /" |\ tr -s '\011' |\ sed 's/[ ]+(/ /g' |\ grep '<.ENTITY %' |\ grep -iv 'math'