10 releases
new 0.2.1 | Nov 2, 2024 |
---|---|
0.2.0 | Nov 2, 2024 |
0.1.7 | Nov 2, 2024 |
0.1.6 | Feb 1, 2023 |
0.1.5 | Dec 31, 2022 |
#172 in Filesystem
16KB
278 lines
Recast
Transforms one serialization format into another. Available serialization formats include:
- JSON (
application/json
) - TOML (
application/toml
) - Yaml (
text/x-yaml
) - Query strings
- CSV (
text/csv
) - XML (
text/xml
)
Installation
Package manager | Command |
---|---|
Cargo | cargo install recast |
The releases page contains pre-compiled releases and shell completion files
Usage
Transforms one serialization format into another
Usage: recast [OPTIONS] [FILE]
Arguments:
[FILE] Input from file
Options:
-f, --from <FORMAT> Input format [default: json] [possible values: json, toml, yaml, query, csv, xml]
-t, --to <FORMAT> Output format [default: json] [possible values: json, toml, yaml, query, csv, xml]
-o, --out <FILE> Output to file
-h, --help Print help information (use `--help` for more detail)
-V, --version Print version information
Examples
jq
Leverage jq's powerful filters on other serialization formats
$ recast -f toml Cargo.lock \
| jq '.package | map({name: .name, version: .version}) | sort_by(.name)' \
| recast -t csv \
| head -n 5
name,version
addr2line,0.19.0
adler,1.0.2
autocfg,1.1.0
backtrace,0.3.67
Syntax highlighting
recast
doesn't provide syntax highlighting, but you can leverage other cli
tools like bat for this purpose
recast -f toml Cargo.toml | bat --language json
Dependencies
~9–16MB
~200K SLoC