Pretty Printing YAML with the Ruby Command-Line

Today I had a pretty fun little thing to do - validate that a YAML file was well formed (because it turns out, it wasn't).

I wanted a handy one-liner to confirm it, similar to my Pretty Print JSON series.

As I use Ruby for my primarily scripting language of choice, this example will be done with Ruby.

To parse the YAML file, and then pretty-print it, we can simply run:

ruby -ryaml -e 'puts YAML.load(ARGF.read).to_yaml' file.yaml
ruby -ryaml -e 'puts YAML.load(ARGF.read).to_yaml' < file.yaml

And because YAML is a valid superset of JSON, we can also use the same for JSON files!

ruby -ryaml -e 'puts YAML.load(ARGF.read).to_yaml' file.json
ruby -ryaml -e 'puts YAML.load(ARGF.read).to_yaml' < file.json

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

Tags

This post was filed under articles.

This post is part of the series pretty-print-yaml.

Related Posts

Other posts you may be interested in:

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.