After talking with a coworker it seems that "grep" returns a \n after its output. That was the bugger keeping my initial efforts from working.
On Friday, May 18, 2018 at 11:06:46 AM UTC-4, John Fox wrote: > > Drilling down farther for the heck of it > > os/exec/exec.go > func (c *Cmd) Output() ([]byte, error) { if c.Stdout != nil { > > return nil, errors.New("exec: Stdout already set") > > } > > var stdout bytes.Buffer > > c.Stdout = &stdout > > captureErr := c.Stderr == nil > > if captureErr { > > c.Stderr = &prefixSuffixSaver{N: 32 << 10} > > } > > err := c.Run() > > if err != nil && captureErr { > > if ee, ok := err.(*ExitError); ok { > > ee.Stderr = c.Stderr.(*prefixSuffixSaver).Bytes() > > } > > } > > return stdout.Bytes(), err > > } > > > stdout.Bytes() = bytes.Buffer.Bytes() > bytes/buffer.go > > // Bytes returns a slice of length b.Len() holding the unread portion of the > buffer.// The slice is valid for use only until the next buffer modification > (that is,// only until the next call to a method like Read, Write, Reset, or > Truncate).// The slice aliases the buffer content at least until the next > buffer modification,// so immediate changes to the slice will affect the > result of future reads. > func (b *Buffer) Bytes() []byte { return b.buf[b.off:] } > > // A Buffer is a variable-sized buffer of bytes with Read and Write > methods.// The zero value for Buffer is an empty buffer ready to use. > type Buffer struct { > buf []byte // contents are the bytes buf[off : len(buf)] > off int // read at &buf[off], write at &buf[len(buf)] > bootstrap [64]byte // memory to hold first slice; helps small buffers > avoid allocation. > lastRead readOp // last read operation, so that Unread* can work > correctly. > // FIXME: it would be advisable to align Buffer to cachelines to avoid > false > // sharing. > } > > I am still not sure where the "10" or '\n' came from, but I know enough to > get the program working. I am really enjoying getting to learn this language > and excited for all that I can get it to do, even if it comes with the > expected frustrations and head against wall banging. > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.