LDAP转储的Bash脚本数据解析

LDAP转储的Bash脚本数据解析,bash,Bash,我试图创建一个Bash脚本,从LDAP hostinfo转储中提取四个字段,并且只提取那些包含“Wireless MacAddress”字符串/字段的字段。我试图创建正则表达式字符串来解析我想要的四个字段,但似乎仍然无法将它们与“只有那些每个主机都有“Wireless MacAddress”字段的字段组合在一起 示例数据集:“很抱歉代码格式,如果不将其缩进为代码,我将无法提交” 虽然这些正则表达式字符串中的每一个都可以找到它要查找的数据,但除了管理员和用户之外,我似乎无法创建正则表达式,我不知道

我试图创建一个Bash脚本,从LDAP hostinfo转储中提取四个字段,并且只提取那些包含“Wireless MacAddress”字符串/字段的字段。我试图创建正则表达式字符串来解析我想要的四个字段,但似乎仍然无法将它们与“只有那些每个主机都有“Wireless MacAddress”字段的字段组合在一起

示例数据集:“很抱歉代码格式,如果不将其缩进为代码,我将无法提交”

虽然这些正则表达式字符串中的每一个都可以找到它要查找的数据,但除了管理员和用户之外,我似乎无法创建正则表达式,我不知道如何仅在存在“无线MacAddress”时获取所需的指定字段


我已经很久没有接触bash了。我只提到使用bash是因为它是我唯一有经验的脚本语言,在这方面没有太多经验。非常感谢您的帮助!

这将是所需的输出:host.name.TLD(IP.IP.IP.IP)Admin=USER F.name(LOGINNAME)USER=USER F.name(LOGINNAME)无线MacAddress=dd:ee:ff:aa:bb:cc谢谢,我错过了。谢谢你看一看!
code
code/data/cfg/errMsgs(请精确文本);-)。祝你好运。
awk'BEGIN{RS=“;FS=“\n”;q=“无线MacAddress”}$0~q{for(I=1;I)
host.name.TLD (IP.IP.IP.IP) uniq=123456
CPU = PC    OS = Linux
Location = BUILDING/NUMBER (CITY, STATEABRV (XX))
Admin = USER F. NAME (LOGINNAME)
User = USER F. NAME (LOGINNAME)
ANCILLARY FIELD = <RANDOM>
ANCILLARY FIELD = <RANDOM>
DeviceClass = desktop
Registered MacAddress = bb:cc:dd:ee:ff:aa
(IPv6 = 2019:2019:2019:2019:2019:2019)

host.name.TLD (IP.IP.IP.IP) uniq=345612
CPU = PC    OS = Linux
Location = BUILDING/NUMBER (CITY, STATEABRV (XX))
Admin = USER F. NAME (LOGINNAME)
User = USER F. NAME (LOGINNAME)
ANCILLARY FIELD = <RANDOM>
ANCILLARY FIELD = <RANDOM>
DeviceClass = desktop
Registered MacAddress = aa:bb:cc:dd:ee:ff
Wireless MacAddress = dd:ee:ff:aa:bb:cc
(IPv6 = 2019:2019:2019:2019:2019:2019)

host.name.TLD (IP.IP.IP.IP) uniq=234561
CPU = PC    OS = Linux
Location = BUILDING/NUMBER (CITY, STATEABRV (XX))
Admin = USER F. NAME (LOGINNAME)
User = USER F. NAME (LOGINNAME)
ANCILLARY FIELD = <RANDOM>
ANCILLARY FIELD = <RANDOM>
DeviceClass = desktop
Registered MacAddress = ee:ff:aa:bb:cc:dd
(IPv6 = 2019:2019:2019:2019:2019:2019)
$hostname=^.*.TLD  to find the HOST.NAME.TLD
$ip=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
$admin="Couldn't come up with anything here"
$user="Couldn't come up with anything here"
$wireless_macaddr=([0-9a-fA-F]{2}:??){5}([0-9a-fA-F]{2})
host.name.TLD (IP.IP.IP.IP)
Admin = USER F. NAME (LOGINNAME)
User = USER F. NAME (LOGINNAME)
Wireless MacAddress = dd:ee:ff:aa:bb:cc