ijq
Interactive jq
tool. Like jqplay for the commandline.
Demo
Installation
Install from package manager
Download a pre-compiled release
Select the version you want to download from sourcehut and download one of the pre-compiled releases from that page. Then extract the archive and copy the binary and, optionally, the man page to the correct location.
Example:
wget https://git.sr.ht/~gpanders/ijq/refs/download/vX.Y.Z/ijq-vX.Y.Z-linux-amd64.tar.gz
tar xf ijq-vX.Y.Z-linux-amd64.tar.gz
cd ijq-vX.Y.Z
cp ijq /usr/local/bin
mkdir -p /usr/local/share/man/man1
cp ijq.1 /usr/local/share/man/man1
Build from source
Install go. To install ijq
under /usr/local/bin/
simply run
make install
from the root of the project. To install to another location, set the prefix
variable, e.g.
make prefix=~/.local install
To generate the man page you will also need to have scdoc installed.
Usage
ijq uses jq under the hood, so make sure you have that installed first.
Read from a file:
ijq file.json
Read from stdin:
curl -s https://api.github.com/users/gpanders | ijq
Press Return
to close ijq
and print the current filtered output to stdout.
This will also print the current filter to stderr. This allows you to save the
filter for re-use with jq
in the future:
ijq file.json 2>filter.jq
# Same output as above
jq -f filter.jq file.json
Pressing Return
also saves the filter to a history file
($XDG_DATA_HOME/ijq/history
by default). You can browse the history by
deleting everything in the filter field. Change the history file used with the
-H
option, or specify an empty string to disable history entirely (i.e. -H ''
).
If $XDG_DATA_HOME
is undefined, then the directory used is platform
dependent.
Use Shift
plus the arrow keys to move between the different windows. When
either of the input or output views have focus, you can use the arrow keys to
scroll up and down. Vi keys also work, i.e. you can use j
/k
to scroll up or
down, g
to move to the top of the view, G
to jump to the bottom of the
view, and Ctrl-F
/Ctrl-B
to scroll up or down a page at a time.
Use Ctrl-C
to exit ijq
immediately, discarding all filters and state.
You can configure the colors by setting the JQ_COLORS
environment variable.
See the jq documentation for more details.
Contributing
Have a question, comment, or feature request? Send an email to the mailing list.
Report bugs on the ticket tracker. You can file a ticket without a sourcehut account by sending a plain text email to ~gpanders/[email protected].
Send patches to ~gpanders/[email protected] or open a pull request on GitHub.