sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

0003-ed.sh (520B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 tmp1=tmp1.$$
      6 tmp2=tmp2.$$
      7 
      8 trap 'rm -f $tmp1 $tmp2' EXIT
      9 trap 'rm -f $tmp1 $tmp2; kill -KILL $$' HUP INT TERM
     10 
     11 cat <<EOF >$tmp1
     12 foo
     13 bar
     14 
     15 baz
     16 EOF
     17 
     18 # Unspecified whether quit with a dirty buffer is considered an error, allow both
     19 ../ed $tmp1 <<EOF >$tmp2 || test $? -eq 1
     20 v#^\$#p
     21 p
     22 g/^\$/d
     23 ,p
     24 q
     25 a
     26 fizz
     27 buzz
     28 .
     29 i
     30 foobar
     31 .
     32 w
     33 v!z\$!d
     34 ,p
     35 q
     36 1,2j
     37 1,2j
     38 ,p
     39 q
     40 EOF
     41 
     42 diff -u - $tmp2 <<EOF
     43 13
     44 foo
     45 bar
     46 baz
     47 baz
     48 foo
     49 bar
     50 baz
     51 ?
     52 29
     53 baz
     54 fizz
     55 buzz
     56 ?
     57 bazfizzbuzz
     58 ?
     59 EOF
     60 
     61 diff -u - $tmp1 <<EOF
     62 foo
     63 bar
     64 baz
     65 fizz
     66 foobar
     67 buzz
     68 EOF