package main import ( "bytes" "fmt" "io" "io/ioutil" "log" "os" "gopkg.in/yaml.v2" ) func main() { log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) b, err := ioutil.ReadAll(os.Stdin) if err != nil { fmt.Fprintf(os.Stderr, "problem reading stdin: %v\n", err) os.Exit(1) } var obj interface{} err = yaml.Unmarshal(b, &obj) if err != nil { fmt.Fprintf(os.Stderr, "issue in decoding: %v\n", err) os.Exit(1) } bs, err := yaml.Marshal(obj) if err != nil { fmt.Fprintf(os.Stderr, "issue in encoding: %v\n", err) os.Exit(1) } r := bytes.NewReader(bs) io.Copy(os.Stdout, r) }