gpt4 book ai didi

regex - 从专有名称解析通用名称的正则表达式

转载 作者:行者123 更新时间:2023-11-29 09:09:45 25 4
gpt4 key购买 nike

我正试图从 OSX 中的 DSCL 命令返回的以下 DN 中仅解析(使用 sed)First Last终端bash环境...

CN=First Last,OU=PCS,OU=guests,DC=domain,DC=edu

我已经从这个站点和其他站点尝试了多个正则表达式,问题非常接近我想要的...主要是 this question ...我已尽我所能尝试遵循建议(我不一定认为自己是新手...但绝对是正则表达式的新手...)

DSCL 返回 DN 列表,我只想将 First Last 打印到文本文件中。我曾尝试使用 sed,但我似乎无法获得正确的功能。我愿意接受其他命令来解析输出。每行都以 CN= 开头,然后在 LastOU= 之间有一个逗号。

非常感谢您的帮助!

最佳答案

我认为目前提供的所有正则表达式答案都是错误的,因为它们没有正确处理通用名称中引用的“,”字符。例如,考虑一个像这样的 distinguishedName:

CN=Doe\, John,CN=Users,DC=example,DC=local

最好使用能够解析可分辨名称组件的真实库。如果您在命令行上寻找快速的东西,请尝试将您的 DN 传递给这样的命令:

    echo "CN=Doe\, John,CN=Users,DC=activedir,DC=local" | python -c 'import ldap; import sys; print ldap.dn.explode_dn(sys.stdin.read().strip(), notypes=1)[0]'

(取决于安装了 python-ldap 库)。您可以使用 PHP 的内置 ldap_explode_dn() 函数做出类似的东西。

关于regex - 从专有名称解析通用名称的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com