For some reason I need that. OK, not any reason. For integrating a CloudInit YAML file into an AWS CloudFormation template. By using this article as reference, I made a simple node.js script for doing just that.
#!/usr/bin/env node
var fs = require('fs');
fs.readFile(process.argv[2], function (err, file) {
if (err) {
console.error(err);
process.exit(1);
}
file = file.toString().split('\n');
var idx, aux = [];
for (idx = 0; idx < file.length; idx++) {
aux.push(file[idx]);
aux.push('\n');
}
file = JSON.stringify(aux);
console.log(file);
});
Save as something.js, make it an executable, then invoke it with ./something.js /path/to/file.
The end.