stergios@jessica.Stanford.EDU (stergios marinopoulos) (01/10/90)
#! /bin/csh -f
# cxml - Create X Manual Links
#
# create links to X manual pages with long file names, and with all cited
# similar topics.
#
# cxml < X man source directory >
#
# To run, cd to the directory where you want the links created.
# Run this shell script with an argument of where the X man pages are.
# For example:
#
# (cd /usr/local/man/man3 ; cxml /usr/local/X11R4/man/man3)
#
# BUGS: if an item is cited in more than one man page then only
# the first citation is used. This may cause errors messages
# from ln, but you may disregard them: I know I do.
#
# You might have to replace "cut" with an appropriate command
# on your system.
#
# Enjoy, Stergios Marinopoulos
#
# stergios@jessica.stanford.edu
#
#
if ( $#argv != 1 ) then
echo usage: cxml \<X man source directory\>
exit 1
endif
if ( ! -d $1 ) then
echo bad man source directory: $1
exit 1
endif
set sourcedir = $1
set length
foreach file ($sourcedir/*)
echo $file
set suffix = $file:e
set startline = `egrep -n ".SH NAME" $file`
set startline = `echo $startline | cut -d: -f1`
@ startline += 1
set endline = `egrep -n ".SH SYNTAX"\|".SH STRUCTURES" $file`
set endline = `echo $endline | cut -d: -f1`
@ length = $endline - $startline
set names = `tail +${startline} $file | head -${length} | tr -d "," `
foreach name ($names)
if ( $name == "\-" || $name == "\" ) break
echo " " ${name}
ln -s $file ${name}.${suffix}
end
end