【发布时间】:2016-08-03 09:28:57
【问题描述】:
我有一个如下的 JSON 文件:
[{
"macAddress": "ac:5f:3e:87:d7:1a",
"ip": "1.2.3.4"
},
{
"macAddress": "ac:5f:3e:87:d7:2a",
"ip": "1.2.3.4"
},
{
"macAddress": "ac:5f:3e:87:d7:3a",
"ip": "1.2.3.4"
}]
使用jq 像这样散列macAddress 字段:
jq .[] | hash(.macAddress)
我可以定义自己的哈希函数并让jq在解析过程中运行哈希吗?
我期望的哈希函数可以像使用原生 linux 命令md5sum 一样简单
echo -n "my_salt""42:12:20:2e:2b:ca" | md5sum
d973ea7c353e78ba1724efbc8054dfdc -
所以输出的json会是
[{
"macAddress": "d973ea7c353e78ba1724efbc8054dfdc",
"ip": "1.2.3.4"
},
{
"macAddress": "d973ea7c353e78ba1724efbc8054d2er",
"ip": "1.2.3.4"
},
{
"macAddress": "d973ea7c353e78ba2324efbc8054d123",
"ip": "1.2.3.4"
}]
【问题讨论】:
-
您希望输出是什么:a) 哈希 MAC 地址列表,由换行符分隔,或 b) 像输入一样的 JSON 对象,只是将 MAC 地址替换为其哈希值, 或 c) 别的什么?请在问题中提供示例输出。
-
@HansZ。我已根据您的要求更新了要求。