jsawk
brew install jsawk
v1.4
BSD-3-Clause
Like awk, but for JSON, using JavaScript objects and arrays
9
30-day installs · #9071
28
90-day · #8830
92
365-day · #9387
1.4k
★ GitHub stars · updated 4y ago
Runtime dependencies
Links
- https://github.com/micha/jsawk
- GitHub: micha/jsawk
- Brew formula source: Formula/j/jsawk.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"spidermonkey"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Like awk, but for JSON, using JavaScript objects and arrays",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:39:05+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "jsawk",
"github_default_branch": "master",
"github_last_commit_at": "2021-08-31T15:23:11Z",
"github_readme_excerpt": "# Quick Start\n\n*If you use Jsawk and want to help maintain it, please let me know and I\u0027ll add you to the repo.*\n\n[Updated underscore.js to v1.8.2.](http://documentcloud.github.com/underscore/)\n\nJsawk is like awk, but for JSON. You work with an array of JSON objects\nread from stdin, filter them using JavaScript to produce a results array\nthat is printed to stdout. You can use this as a filter to manipulate data\nfrom a REST JSON web service, for example, in a shell script. Also, you can\nsuppress JSON output and use the built-in printing functions to translate\nyour JSON input to other formats and send that to stdout, to be piped to\nother processes. You can load JavaScript libraries on the command line to\nincrease your processing power, and other things.\n\n## Setup\n\n[This is a great blog post on setup and basic use of jsawk and resty, thanks\nto @johnattebury.](http://johnattebury.com/blog/2011/06/spidermonkey-jsawk-resty-on-snow-leopard/)\n\nYou need to have the `js` interpreter installed. Your best bet is to navigate to\nthe mozilla site [download and build the source](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey)\nbased on the maintained documentation there.\n\nReady? Go.\n\n## Install\n\nFirst, get the jsawk script:\n\n curl -L http://github.com/micha/jsawk/raw/master/jsawk \u003e jsawk\n\nThen make it executable and put it somewhere in your path:\n\n chmod 755 jsawk \u0026\u0026 mv jsawk ~/bin/\n\n## Use\n\nNow you can do some stuff with JSON data. Here\u0027s an example using data from\na REST service that serves JSON (we use [resty](http://github.com/micha/resty)\nto do the HTTP requests):\n\n resty http://example.com:8080/data*.json\n GET /people/47 | jsawk \u0027this.favoriteColor = \"blue\"\u0027 | PUT /people/47\n\nThis would do a `GET` request on the resource `/data/people/47.json`, which\nwould result in a JSON object. Then jsawk takes the JSON via stdin and for\neach JSON object it runs the little snippet of JavaScript, setting the\n`favoriteColor` property to `\"blue\"`, in",
"github_repo": "micha/jsawk",
"github_stars": 1384,
"github_topics": [],
"homepage": "https://github.com/micha/jsawk",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 9,
"installs_365d": 92,
"installs_90d": 28,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "BSD-3-Clause",
"llm_generated_at": null,
"llm_model": null,
"name": "jsawk",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 9071,
"rank_365d": 9387,
"rank_90d": 8830,
"raw_hash": "e546236de2149272",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/j/jsawk.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.4",
"versioned_formulae": [],
"why_use_this": null
}