aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/index/doclean
blob: c1763fd948dc283fa3d0314f8e6a6af2732dac36 (plain)
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
#!/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
}
' $*