首页 > 解决方案 > 如何在json数组中格式化mac地址

问题描述

在获取低于 json 文件中的 mac 地址以使用 sed cat 251.json 重新格式化时需要帮助

 cat /tmp/251.json


   [
  "08:f1:ea:6d:03:3c",
  "08:f1:ea:6d:03:3d",
  "08:f1:ea:6d:03:3e",
  "08:f1:ea:6d:03:3f",
  "b8:83:03:81:4b:20",
  "b8:83:03:81:4b:21",
  "b8:83:03:84:d5:1c",
  "b8:83:03:84:d5:1d"
]

预期的格式是

 [
  "08f1.ea6d.033c",
  "08f1.ea6d.033d",
  "08f1.ea6d.033e",
  "08f1.ea6d.033f",
  "b883.0381.4b20",
  "b883.0381.4b21",
  "b883.0384.d51c",
  "b883.0384.d51d"
]

标签: sedformattingmac-address

解决方案


这应该有效:

sed -E 's/:(.{2}):(.{2}):(.{2}):(.{2}):/\1.\2\3.\4/g' /tmp/251.json

通过这种方式,您可以将输出输出到标准输出。如果要修改文件,请添加-i选项。你可以在这里查看结果。


推荐阅读