A bunch of
jq snippets and shell scripts to manipulate JSON files. See also
jq is a lightweight and flexible command-line JSON processor.
⚠️ This project has been archived
No future updates are planned. Feel free to continue using it, but expect no support.
Just clone the repository.
git clone --recursive git://github.com/joelpurra/jq-hopkok.git
README.md each folder, as well as source files. Don’t expect much documentation yet.
$ tree src src ├── array │ ├── README.md │ ├── take.sh │ ├── to-array.sh │ └── unwrap-array.sh ├── dynamic │ ├── README.md │ └── concat.sh ├── metadata │ ├── README.md │ └── structure.sh ├── object │ ├── README.md │ ├── as-object.sh │ ├── merge.sh │ ├── reduce-merge-deep-add.sh │ └── sort-object-keys-deep.sh ├── parallelism │ ├── README.md │ ├── dataset-foreach.sh │ ├── dataset-query.sh │ ├── parallel-chunks.sh │ └── parallel-n-2.sh ├── tabular │ ├── README.md │ ├── array-of-objects-to-csv.sh │ ├── array-of-objects-to-tsv.sh │ ├── clean-csv-sorted-header.sh │ └── clean-tsv-sorted-header.sh └── url ├── README.md ├── from-components.sh └── to-components.sh 7 directories, 26 files
The library was built awaiting a jq module/package system, but also to collect shell utils for JSON manipulation. Some of these utils can be converted to packages, while others rely on external programs such as the
Most utils were written for jq v1.4, and some can be probably be significantly improved with v1.5+ features. When the time comes, the plan is to maintain a branch per jq version for backwards compatibility.
jq-hopkok’s runtime dependencies:
Some utils also use:
jqwiki’s cookbook for examples and smart solutions.
- har-dulcify for the origin of some utils, as well as example usage – especially of the parallelism utils.
- ep-erroneous-votes for the origin of some utils, and example usage.
Patches/pull requests welcome!
- Write tests.
- Break out jq scripts from shell scripts.
- Split up files into smaller parts.
Copyright (c) 2014, 2015, Joel Purra https://joelpurra.com/ All rights reserved.
When using jq-hopkok, comply to at least one of the three available licenses: BSD, MIT, GPL. Please see the LICENSE file for details.