mkscripts.sh revision 1057
116Salm#!/bin/sh -
216Salm# This script generates ed test scripts (.ed) from .t files
316Salm
416SalmPATH="/bin:/usr/bin:/usr/local/bin/:."
516SalmED=$1
616Salm[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
716Salm
816Salmfor i in *.t; do
916Salm#	base=${i%.*}
1016Salm#	base=`echo $i | sed 's/\..*//'`
111057Salm#	base=`expr $i : '\([^.]*\)'`
121057Salm#	(
131057Salm#	echo "#!/bin/sh -"
141057Salm#	echo "$ED - <<\EOT"
151057Salm#	echo "r $base.d"
161057Salm#	cat $i
171057Salm#	echo "w $base.o"
181057Salm#	echo EOT
191057Salm#	) >$base.ed
201057Salm#	chmod +x $base.ed
211057Salm# The following is pretty ugly way of doing the above, and not appropriate 
221057Salm# use of ed  but the point is that it can be done...
231057Salm	base=`$ED - \!"echo $i" <<-EOF
241057Salm		s/\..*
251057Salm	EOF`
261057Salm	$ED - <<-EOF
271057Salm		a
281057Salm		#!/bin/sh -
291057Salm		$ED - <<\EOT
301057Salm		H
311057Salm		r $base.d
321057Salm		w $base.o
331057Salm		EOT
341057Salm		.
351057Salm		-2r $i
361057Salm		w $base.ed
371057Salm		!chmod +x $base.ed
381057Salm	EOF
3916Salmdone
4016Salm
4116Salmfor i in *.err; do
4216Salm#	base=${i%.*}
4316Salm#	base=`echo $i | sed 's/\..*//'`
441057Salm#	base=`expr $i : '\([^.]*\)'`
451057Salm#	(
461057Salm#	echo "#!/bin/sh -"
471057Salm#	echo "$ED - <<\EOT"
481057Salm#	echo H
491057Salm#	echo "r $base.err"
501057Salm#	cat $i
511057Salm#	echo "w $base.o"
521057Salm#	echo EOT
531057Salm#	) >$base-err.ed
541057Salm#	chmod +x $base-err.ed
551057Salm# The following is pretty ugly way of doing the above, and not appropriate 
561057Salm# use of ed  but the point is that it can be done...
571057Salm	base=`$ED - \!"echo $i" <<-EOF
581057Salm		s/\..*
591057Salm	EOF`
601057Salm	$ED - <<-EOF
611057Salm		a
621057Salm		#!/bin/sh -
631057Salm		$ED - <<\EOT
641057Salm		H
651057Salm		r $base.err
661057Salm		w $base.o
671057Salm		EOT
681057Salm		.
691057Salm		-2r $i
701057Salm		w ${base}.red
711057Salm		!chmod +x ${base}.red
721057Salm	EOF
7316Salmdone
74