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