我正在尝试使用bash获取命令输出的特定部分。因此,当您运行此命令时;
./xuez-cli getnetworkinfo
它会为您提供这样的输出;
"localaddresses" : [
{
"address" : "snyc3vzezoch2jax.onion",
"port" : 41798,
"score" : 4
}
]
从此输出中,我需要获取此地址snyc3vzezoch2jax.onion
并将其放入文本文件或变量中。
.onion
部分始终保持不变,尽管之前的字符每次都不同,所以我需要一个通用的解决方案来获取整个地址。
我尝试了./xuez-cli getnetworkinfo | grep address
,尽管它给了我这个输出;
"localaddresses" : [
"address" : "snyc3vzezoch2jax.onion",
,仍然找不到将address
部分粘贴到文本文件或变量中的方法。
我该怎么做?
答案 0 :(得分:1)
您可以使用jq。
将输出分配给变量:
addr=$(./xuez-cli getnetworkinfo | jq -r '.localaddresses[0].address // "something other than null"')
将输出写入文件:
./xuez-cli getnetworkinfo | jq -r '.localaddresses[0].address // "something other than null"' > addrfile