1 1.1 cgd #!/bin/sh - 2 1.1 cgd # This script generates ed test scripts (.ed) from .t files 3 1.1 cgd 4 1.1 cgd PATH="/bin:/usr/bin:/usr/local/bin/:." 5 1.6 alm ED=$1 6 1.6 alm [ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; } 7 1.1 cgd 8 1.1 cgd for i in *.t; do 9 1.1 cgd # base=${i%.*} 10 1.4 alm # base=`echo $i | sed 's/\..*//'` 11 1.8 alm # base=`expr $i : '\([^.]*\)'` 12 1.8 alm # ( 13 1.8 alm # echo "#!/bin/sh -" 14 1.8 alm # echo "$ED - <<\EOT" 15 1.8 alm # echo "r $base.d" 16 1.8 alm # cat $i 17 1.8 alm # echo "w $base.o" 18 1.8 alm # echo EOT 19 1.8 alm # ) >$base.ed 20 1.8 alm # chmod +x $base.ed 21 1.8 alm # The following is pretty ugly way of doing the above, and not appropriate 22 1.8 alm # use of ed but the point is that it can be done... 23 1.8 alm base=`$ED - \!"echo $i" <<-EOF 24 1.8 alm s/\..* 25 1.8 alm EOF` 26 1.8 alm $ED - <<-EOF 27 1.8 alm a 28 1.8 alm #!/bin/sh - 29 1.8 alm $ED - <<\EOT 30 1.8 alm H 31 1.8 alm r $base.d 32 1.8 alm w $base.o 33 1.8 alm EOT 34 1.8 alm . 35 1.8 alm -2r $i 36 1.8 alm w $base.ed 37 1.8 alm !chmod +x $base.ed 38 1.8 alm EOF 39 1.2 cgd done 40 1.2 cgd 41 1.2 cgd for i in *.err; do 42 1.2 cgd # base=${i%.*} 43 1.5 alm # base=`echo $i | sed 's/\..*//'` 44 1.8 alm # base=`expr $i : '\([^.]*\)'` 45 1.8 alm # ( 46 1.8 alm # echo "#!/bin/sh -" 47 1.8 alm # echo "$ED - <<\EOT" 48 1.8 alm # echo H 49 1.8 alm # echo "r $base.err" 50 1.8 alm # cat $i 51 1.8 alm # echo "w $base.o" 52 1.8 alm # echo EOT 53 1.8 alm # ) >$base-err.ed 54 1.8 alm # chmod +x $base-err.ed 55 1.8 alm # The following is pretty ugly way of doing the above, and not appropriate 56 1.8 alm # use of ed but the point is that it can be done... 57 1.8 alm base=`$ED - \!"echo $i" <<-EOF 58 1.8 alm s/\..* 59 1.8 alm EOF` 60 1.8 alm $ED - <<-EOF 61 1.8 alm a 62 1.8 alm #!/bin/sh - 63 1.8 alm $ED - <<\EOT 64 1.8 alm H 65 1.8 alm r $base.err 66 1.8 alm w $base.o 67 1.8 alm EOT 68 1.8 alm . 69 1.8 alm -2r $i 70 1.8 alm w ${base}.red 71 1.8 alm !chmod +x ${base}.red 72 1.8 alm EOF 73 1.1 cgd done 74