You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JQ将.netrc文件分组转换为JSON对象数组

.netrc 转 JSON 对象数组的 JQ 简洁方案

原始 .netrc 文件内容

machine foo
login usera
password somepass
machine somehost
login userb
password otherpass

目标格式

需要转换为每组对应一个机器条目的 JSON 对象数组:

[
  {
    "machine": "foo",
    "login": "usera",
    "password": "somepass"
  },
  {
    "machine": "somehost",
    "login": "userb",
    "password": "otherpass"
  }
]

解决方案

直接使用以下 JQ 命令即可完成转换:

jq -Rs '
  split("\n") |
  map(select(length > 0)) |
  _nwise(3) |
  map(split(" "; limit:2) | {(.[0]): .[1]}) |
  add
' ~/.netrc

代码说明

  • -Rs 参数:将整个文件读取为单个字符串,方便按行处理
  • split("\n") | map(select(length > 0)):分割行并过滤掉空行
  • _nwise(3):把数组按每 3 个元素分组,正好对应每个机器的完整配置条目
  • split(" "; limit:2):将每行按空格拆分为键值对,limit:2 保证密码含空格时不会被错误拆分
  • add:将每组的 3 个键值对合并为一个完整的 JSON 对象

内容的提问来源于stack exchange,提问作者Christian Bongiorno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:46:12