func Substitute(r, replacement string) Filter {
	return FilterFunc(func(arg Arg) error {
		re, err := regexp.Compile(r)
		if err != nil {
			return err
		}
		for s := range arg.In {
			arg.Out <- re.ReplaceAllString(s, replacement)
		}
		return nil
	})
}
func Substitute(r, replacement string) Filter {
	return FilterFunc(func(arg Arg) error {
		re, err := regexp.Compile(r)
		if err != nil {
			return err
		}
		for s := range arg.In {
			arg.Out <- re.ReplaceAllString(s, replacement)
		}
		return nil
	})
}
// Substitute replaces all occurrences of the regular expression r in
// an input item with replacement.  The replacement string can contain
// $1, $2, etc. which represent submatches of r.