我需要从我的 shell 脚本生成 JSON 输出。我需要获取特定机器的 Ram 插槽详细信息并使用这些详细信息生成 JSON。要获取我正在使用的 Ram 详细信息,system_profiler SPMemoryDataType
它会生成如下详细信息。
BANK 0/DIMM0:
Size: 2 GB
Type: DDR3
Speed: 1600 MHz
Status: OK
Manufacturer: 0x802C
Part Number: 0x384A54463235363634485A2D3147364D3120
Serial Number: 0xE98388E6
BANK 1/DIMM0:
Size: 2 GB
Type: DDR3
Speed: 1600 MHz
Status: OK
Manufacturer: 0x802C
Part Number: 0x384A54463235363634485A2D3147364D3120
Serial Number: 0xE98388E5
从那我应该像这样形成JSON
[
{"Bank":"0/DIMM0","Serial Number":"0xE98388E6","Status":"OK"},
{"Bank":"1/DIMM0","Serial Number":"0xE98388E5","Status":"OK"}
]
要提取银行、序列号、状态等单独的详细信息,我们可以使用
system_profiler SPMemoryDataType | awk '/Bank/
system_profiler SPMemoryDataType | awk '/Serial/
system_profiler SPMemoryDataType | awk '/Status/
我确信需要动态变量来从结果中生成 json。但是由于我是 shell 脚本的新手,所以我很困惑。有没有办法从输出中生成 JSON?