code: func (d *Dataset) Pipe(name, code string) *Dataset {
  	ret, step := add1ShardTo1Step(d)
  	step.Name = name
  	step.Description = code
  	step.IsPipe = true
  	step.Command = script.NewShellScript().Pipe(code).GetCommand()
  	return ret
  }
docs: // Pipe runs the code as an external program, which processes the
  // tab-separated input from the program's stdin, and outout to
  // stdout also in tab-separated lines.