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