130154ac8SAndrew Moore#!/bin/sh - 230154ac8SAndrew Moore# This script generates ed test scripts (.ed) from .t files 3148531efSWolfram Schneider# 430154ac8SAndrew Moore 530154ac8SAndrew MoorePATH="/bin:/usr/bin:/usr/local/bin/:." 630154ac8SAndrew MooreED=$1 730154ac8SAndrew Moore[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; } 830154ac8SAndrew Moore 930154ac8SAndrew Moorefor i in *.t; do 1030154ac8SAndrew Moore# base=${i%.*} 1130154ac8SAndrew Moore# base=`echo $i | sed 's/\..*//'` 1295e6217eSAndrew Moore# base=`expr $i : '\([^.]*\)'` 1395e6217eSAndrew Moore# ( 1495e6217eSAndrew Moore# echo "#!/bin/sh -" 1595e6217eSAndrew Moore# echo "$ED - <<\EOT" 1695e6217eSAndrew Moore# echo "r $base.d" 1795e6217eSAndrew Moore# cat $i 1895e6217eSAndrew Moore# echo "w $base.o" 1995e6217eSAndrew Moore# echo EOT 2095e6217eSAndrew Moore# ) >$base.ed 2195e6217eSAndrew Moore# chmod +x $base.ed 2295e6217eSAndrew Moore# The following is pretty ugly way of doing the above, and not appropriate 2395e6217eSAndrew Moore# use of ed but the point is that it can be done... 2495e6217eSAndrew Moore base=`$ED - \!"echo $i" <<-EOF 2595e6217eSAndrew Moore s/\..* 2695e6217eSAndrew Moore EOF` 2795e6217eSAndrew Moore $ED - <<-EOF 2895e6217eSAndrew Moore a 2995e6217eSAndrew Moore #!/bin/sh - 3095e6217eSAndrew Moore $ED - <<\EOT 3195e6217eSAndrew Moore H 3295e6217eSAndrew Moore r $base.d 3395e6217eSAndrew Moore w $base.o 3495e6217eSAndrew Moore EOT 3595e6217eSAndrew Moore . 3695e6217eSAndrew Moore -2r $i 3795e6217eSAndrew Moore w $base.ed 3895e6217eSAndrew Moore !chmod +x $base.ed 3995e6217eSAndrew Moore EOF 4030154ac8SAndrew Mooredone 4130154ac8SAndrew Moore 4230154ac8SAndrew Moorefor i in *.err; do 4330154ac8SAndrew Moore# base=${i%.*} 4430154ac8SAndrew Moore# base=`echo $i | sed 's/\..*//'` 4595e6217eSAndrew Moore# base=`expr $i : '\([^.]*\)'` 4695e6217eSAndrew Moore# ( 4795e6217eSAndrew Moore# echo "#!/bin/sh -" 4895e6217eSAndrew Moore# echo "$ED - <<\EOT" 4995e6217eSAndrew Moore# echo H 5095e6217eSAndrew Moore# echo "r $base.err" 5195e6217eSAndrew Moore# cat $i 5295e6217eSAndrew Moore# echo "w $base.o" 5395e6217eSAndrew Moore# echo EOT 5495e6217eSAndrew Moore# ) >$base-err.ed 5595e6217eSAndrew Moore# chmod +x $base-err.ed 5695e6217eSAndrew Moore# The following is pretty ugly way of doing the above, and not appropriate 5795e6217eSAndrew Moore# use of ed but the point is that it can be done... 5895e6217eSAndrew Moore base=`$ED - \!"echo $i" <<-EOF 5995e6217eSAndrew Moore s/\..* 6095e6217eSAndrew Moore EOF` 6195e6217eSAndrew Moore $ED - <<-EOF 6295e6217eSAndrew Moore a 6395e6217eSAndrew Moore #!/bin/sh - 6495e6217eSAndrew Moore $ED - <<\EOT 6595e6217eSAndrew Moore H 6695e6217eSAndrew Moore r $base.err 6795e6217eSAndrew Moore w $base.o 6895e6217eSAndrew Moore EOT 6995e6217eSAndrew Moore . 7095e6217eSAndrew Moore -2r $i 7195e6217eSAndrew Moore w ${base}.red 7295e6217eSAndrew Moore !chmod +x ${base}.red 7395e6217eSAndrew Moore EOF 7430154ac8SAndrew Mooredone 75