通过JQ将纯文本文件导入JSON

通过JQ将纯文本文件导入JSON,json,text,import,jq,Json,Text,Import,Jq,我有两个文件: id_rsa -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY----- 和id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAA... 使用JQ,如何将它们导入json文件,如: { "pem": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----", "pub": "ssh-rsa AAA

我有两个文件:

id_rsa

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
和id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAA...
使用JQ,如何将它们导入json文件,如:

{
  "pem": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----",
  "pub": "ssh-rsa AAAAB3NzaC1yc2EAAA..."
}
我试过几次,但都不起作用:

jq --null-input --argfile pem id_rsa --argfile pub id_rsa.pub '.pem=$pem | .pub=$pub'
jq: Bad JSON in --argfile pem id_rsa: Invalid numeric literal at line 1, column 11

假设您的jq支持
--rawfile
命令行选项(jq 1.6也是如此),最简单的方法就是使用它,例如:

jq -Rs --rawfile pub id_rsa.pub '{pem: ., pub: $pub}' id_rsa

没有--rawfile
jq-Rs--argfile pub下面的答案中有哪一个有用?如果是这样的话,你应该通过接受/投票来提供反馈
jq -Rs --argfile pub <(jq -R '{pub: .}' id_rsa.pub) '{pem: .} + $pub' id_rsa