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