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