#! /bin/csh -f
# Usage:
#
# html-rename-pages -f
#
# where is a sed(1) script that describes the
# transformation from old page names to new page names.
#
# The command finds all .html* source files and [Mm]akefiles
# in the current directory, renames them
# to new names as described by the given , and then
# pipes them through the given .
set path = ( /usr/ucb /usr/bsd /usr/bin /bin )
if ( ( $#argv != 2 ) || ( "x$1" != "x-f" ) ) then
echo "Usage: $0 -f "
exit 1
endif
set script = "$2"
set temp = "/tmp/$$"
rm -f ${temp}-OLD-SOURCES ${temp}-MAKEFILES
find ./ \
-type f \
\( -name '[A-Za-z]*.html' \
-o -name '[A-Za-z]*.html*[a-zA-Z0-9]' \
\) \
-print >> ${temp}-OLD-SOURCES
find ./ -type f -name 'makefile' -print >> ${temp}-MAKEFILES
find ./ -type f -name 'Makefile' -print >> ${temp}-MAKEFILES
rm -f ${temp}-NEW-SOURCES
# Rename files:
foreach old ( `cat ${temp}-OLD-SOURCES` )
if ( ! ( -e $old ) ) then
echo "file $old not found"
else
set new = "${old:h}/`echo ${old:t} | sed -f $script`"
if ( "x$old" == "x$new" ) then
echo "$old" >> ${temp}-NEW-SOURCES
else if ( -e $new ) then
echo "file $new already exists"
else
echo -n "$old -> $new ?"
if ( "x$<" == "xy" ) then
mv $old $new
echo "$new" >> ${temp}-NEW-SOURCES
else
echo "$old" >> ${temp}-NEW-SOURCES
endif
endif
endif
end
# Filter files through script:
${STOLFIHOME}/bin/sed-files -f $script `cat ${temp}-NEW-SOURCES ${temp}-MAKEFILES | sort`
rm ${temp}-OLD-SOURCES ${temp}-NEW-SOURCES ${temp}-MAKEFILES
exit 0