fx logo

fx example

_* Function eXecution_ [![Build Status](https://travis-ci.org/antonmedv/fx.svg?branch=master)](https://travis-ci.org/antonmedv/fx) [![Npm Version](https://img.shields.io/npm/v/fx.svg)](https://www.npmjs.com/package/fx) [![Brew Version](https://img.shields.io/homebrew/v/fx.svg)](https://formulae.brew.sh/formula/fx) Command-line JSON processing tool ## Features * Easy to use * Standalone binary * Interactive mode 🎉 * Streaming support 🌊 ## Install ```bash npm install -g fx ``` Or via Homebrew ```bash brew install fx ``` Or download standalone binary from [releases](https://github.com/antonmedv/fx/releases) ```bash bash <( curl https://fx.wtf ) ``` ## Usage Start [interactive mode](https://github.com/antonmedv/fx/blob/master/DOCS.md#interactive-mode) without passing any arguments. ```bash $ curl ... | fx ``` Or by passing filename as first argument. ```bash $ fx data.json ``` Pass a few JSON files. ```bash cat foo.json bar.json baz.json | fx .message ``` Use full power of JavaScript. ```bash $ curl ... | fx '.filter(x => x.startsWith("a"))' ``` Access all lodash (or ramda, etc) methods by using [.fxrc](https://github.com/antonmedv/fx/blob/master/DOCS.md#using-fxrc) file. ```bash $ curl ... | fx '_.groupBy("commit.committer.name")' '_.mapValues(_.size)' ``` Update JSON using spread operator. ```bash $ echo '{"count": 0}' | fx '{...this, count: 1}' { "count": 1 } ``` Extract values from maps. ```bash $ fx commits.json | fx .[].author.name ``` Print formatted JSON to stdout. ```bash $ curl ... | fx . ``` Pipe JSON logs stream into fx. ```bash $ kubectl logs ... -f | fx .message ``` And try this: ```bash $ fx --life ``` ## Documentation See full [documentation](https://github.com/antonmedv/fx/blob/master/DOCS.md). ## Links * [Discover how to use fx effectively](http://bit.ly/discover-how-to-use-fx-effectively) * [Video tutorial](http://bit.ly/youtube-fx-tutorial) ## Related * [gofx](https://github.com/antonmedv/gofx) – fx-like JSON tool (*go*) * [eat](https://github.com/antonmedv/eat) – converts anything into JSON * [ymlx](https://github.com/matthewadams/ymlx) – fx-like YAML cli processor * [fx-completion](https://github.com/antonmedv/fx-completion) – bash completion for fx * [fx-theme-monokai](https://github.com/antonmedv/fx-theme-monokai) – monokai theme * [fx-theme-night](https://github.com/antonmedv/fx-theme-night) – night theme ## License [MIT](https://github.com/antonmedv/fx/blob/master/LICENSE)