【发布时间】:2011-10-05 00:58:11
【问题描述】:
给定以下输入字符串:
Subject: C=AU, ST=Queensland, L=Brisbane, O=Organisation, OU=Branch, CN=Root CA/emailAddress=Support@mydept.qld.gov.au
Subject: C=AU, ST=Queensland, L=Brisbane, O=Organisation, OU=Branch, CN=machine.mydept.qld.gov.au
在 Linux 上使用 sed 命令:
echo $string | sed -n '/Subject:/s/.*CN=\(.*\)\([\/?].*\|$\)/\1/p'
我得到以下信息:
Root CA
machine.mydept.qld.gov.au
在 Solaris 上尝试相同的操作没有给我任何响应。 将模式更改为
/Subject:/!d;s/.*CN=\(.*\)\([\/].*\)/\1/p
给了我根 CA,但未能交付字符串的其余部分是所需模式的项目(即,没有 /emailaddress 附加到 CN= 字段)
有人可以提供solaris/基本正则表达式语法来帮助解决这个问题。
谢谢。
【问题讨论】: