72 lines
1.2 KiB
Bash
72 lines
1.2 KiB
Bash
#!/bin/sh -
|
|
# This script generates ed test scripts (.ed) from .t files
|
|
|
|
PATH="/bin:/usr/bin:/usr/local/bin/:."
|
|
ED=$1
|
|
[ X"$ED" = X -o ! -x $ED ] && ED="../ed"
|
|
[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
|
|
|
|
for i in *.t; do
|
|
# base=${i%.*}
|
|
# base=`echo $i | sed 's/\..*//'`
|
|
base=`expr $i : '\([^.]*\)'`
|
|
(
|
|
echo "#!/bin/sh -"
|
|
echo "$ED - <<\EOT"
|
|
echo "r \\$base.d"
|
|
cat $i
|
|
echo "w \\$base.o"
|
|
echo EOT
|
|
) >$base.ed
|
|
chmod +x $base.ed
|
|
# The following is pretty ugly and not appropriate use of ed
|
|
# but the point is that it can be done...
|
|
# base=`$ED - \!"echo \\\\$i" <<-EOF
|
|
# s/\..*
|
|
# EOF`
|
|
# $ED - <<-EOF
|
|
# a
|
|
# #!/bin/sh -
|
|
# $ED - <<\EOT
|
|
# r \\$base.d
|
|
# w \\$base.o
|
|
# EOT
|
|
# .
|
|
# -2r \\$i
|
|
# w \\$base.ed
|
|
# !chmod +x \\$base.ed
|
|
# EOF
|
|
done
|
|
|
|
for i in *.err; do
|
|
# base=${i%.*}
|
|
# base=`echo $i | sed 's/\..*//'`
|
|
base=`expr $i : '\([^.]*\)'`
|
|
(
|
|
echo "#!/bin/sh -"
|
|
echo "$ED - <<\EOT"
|
|
echo H
|
|
echo "r \\$base.err"
|
|
cat $i
|
|
echo "w \\$base.o"
|
|
echo EOT
|
|
) >$base-err.ed
|
|
chmod +x $base-err.ed
|
|
# base=`$ED - \!"echo \\\\$i" <<-EOF
|
|
# s/\..*
|
|
# EOF`
|
|
# $ED - <<-EOF
|
|
# a
|
|
# #!/bin/sh -
|
|
# $ED - <<\EOT
|
|
# H
|
|
# r \\$base.err
|
|
# w \\$base.o
|
|
# EOT
|
|
# .
|
|
# -2r \\$i
|
|
# w \\${base}-err.ed
|
|
# !chmod +x ${base}-err.ed
|
|
# EOF
|
|
done
|