jqlang/jq
GitHub: jqlang/jq
一款轻量级命令行 JSON 处理器,用简洁的过滤语法实现 JSON 数据的切片、过滤、映射和转换。
Stars: 33814 | Forks: 1704
# jq
`jq` 是一个轻量级且灵活的命令行 JSON 处理器,类似于处理 JSON 数据的 `sed`、`awk`、`grep` 等工具。它用可移植的 C 语言编写,零运行时依赖,让你能够轻松地对结构化数据进行切片、过滤、映射和转换。
## 文档
- **官方文档**:[jqlang.org](https://jqlang.org)
- **在线试用 jq**:[play.jqlang.org](https://play.jqlang.org)
## 安装
### 预编译二进制文件
从 [GitHub 发布页面](https://github.com/jqlang/jq/releases)下载最新版本。
### Docker 镜像
拉取 [jq 镜像](https://github.com/jqlang/jq/pkgs/container/jq)以使用 Docker 快速开始。
#### 使用 Docker 运行
##### 示例:从 `package.json` 文件中提取版本
```
docker run --rm -i ghcr.io/jqlang/jq:latest < package.json '.version'
```
##### 示例:通过挂载卷从 `package.json` 文件中提取版本
```
docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
```
### 从源码构建
#### 依赖项
- libtool
- make
- automake
- autoconf
#### 说明
```
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
./configure --with-oniguruma=builtin
make clean # if upgrading from a version previously built from source
make -j8
make check
sudo make install
```
构建静态链接版本:
```
make LDFLAGS=-all-static
```
如果你使用的不是最新的 git 版本,而是构建发布的压缩包(可在发布页面获取),请跳过 `autoreconf` 步骤,也不需要 flex 或 bison。
##### 交叉编译
有关交叉编译的详细信息,请查看 [GitHub Actions 文件](.github/workflows/ci.yml)和[交叉编译 Wiki 页面](https://github.com/jqlang/jq/wiki/Cross-compilation)。
## 社区与支持
- 问题与帮助:[Stack Overflow (jq 标签)](https://stackoverflow.com/questions/tagged/jq)
- 聊天与社区:[加入我们的 Discord](https://discord.gg/yg6yjNmgAC)
- Wiki 与进阶话题:[浏览 Wiki](https://github.com/jqlang/jq/wiki)
## 许可证
`jq` 在 [MIT 许可证](COPYING)下发布。`jq` 的文档根据
[Creative Commons CC BY 3.0](COPYING) 授权。
`jq` 使用了开源 C 库 "decNumber" 的部分内容,该库在
[ICU 许可证](COPYING)下分发
标签:AWK, Cutter, DevOps工具, Docker, GREP, JSON处理器, JSON解析, Linux工具, SED, SOC Prime, 后端开发, 安全防御评估, 开发工具, 数据转换, 文本处理, 端口探测, 脚本辅助, 解析器, 请求拦截, 过滤器, 零依赖