|  | #!/bin/sh | 
|  |  | 
|  | awk ' # doclean | 
|  |  | 
|  | #   Input:  "number tab IX string | 
|  | #	107     IX self-reference #1186 - | 
|  | #	281     TL APPENDIX A  AMPL Reference Manual   #26 - | 
|  | #   Output:        string (tab) number | 
|  | #	excess spaces are removed output string | 
|  | #	note reversal of order;  rest of programs expect it | 
|  |  | 
|  | # This contains some special pleading for the AMPL book | 
|  |  | 
|  | BEGIN	      { FS = OFS = "\t" } | 
|  |  | 
|  | /\t(TL|H1|H2|H3|LASTPAGE)/	{ next }	# zap expected noise | 
|  |  | 
|  | $0 !~ /[0-9ixv]+\tIX / { | 
|  | print "doclean: non index line: " $0 | "cat 1>&2"; next | 
|  | } | 
|  |  | 
|  | {	sub(/IX +/, "", $2)	# zap "IX " | 
|  | sub(/ +#[0-9]+ .*$/, "", $2)	# zap trailing blanks, slug, file | 
|  | gsub(/  +/, " ", $2)	# compress internal blanks | 
|  | print $2, $1		# item (tab) page number | 
|  | } | 
|  | ' $* |