September 26, 2018
2 min read
jq is a bash program that assists with the parsing of JSON formatted data. This example shows how to log the start script of an npm package to the terminal.
cat will print contents of package.json to the console.
cat package.json{ "name": "repository", "scripts": { "build": "cross-env NODE_ENV=production webpack --progress --config webpack/prod.js", "start": "cross-env NODE_ENV=local webpack-serve --config webpack/dev.js", }, "dependencies": { "lodash": "4.17.10" }}If you pipe data into jq it will pretty print it with syntax highlighting.
cat package.json | jq{ "name": "repository", "scripts": { "build": "cross-env NODE_ENV=production webpack --progress --config webpack/prod.js", "start": "cross-env NODE_ENV=local webpack-serve --config webpack/dev.js", }, "dependencies": { "lodash": "4.17.10" }}Finally jq lets you parse the JSON via dot notation.
cat package.json | jq .scripts{ "build": "cross-env NODE_ENV=production webpack --progress --config webpack/prod.js", "start": "cross-env NODE_ENV=local webpack-serve --config webpack/dev.js",}
cat package.json | jq .scripts.start"cross-env NODE_ENV=local webpack-serve --config webpack/dev.js"https://stedolan.github.io/jq/manual/