微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 获取两个特殊字符之间的字符串

如何在bash脚本中使用sed,grep,awk,tr或其他任何内容获取每行之间的一个字符

'      and      .    

从这个文件. (该字符是单引号和句点).这真的很难,我喜欢你甚至在尝试.

这样命令产生:

理想输出

orinak
pchovi
orinak

xpt

moon

在以下文件中:

class GI_DnConstants {
        const BO_DOMAIN_NAME = 'orinak.backoffice.domain.com';
        const EX_DOMAIN_NAME = 'pchovi.extranet.domain.com';
        const WS_DOMAIN_NAME = 'orinak.www.domain.com';
        const PT_DOMAIN_NAME = '.partner.domain.com';
        const PTS_DOMAIN_NAME = 'xpt.partners.domain.com';
        const WS_SECURE_DOMAIN_NAME = '.secure.domain.com';
        const IMG_DOMAIN_NAME = 'moon.images.domain.com';
}

解决方法:

如果输出中的空行不是必需的,那么带有“look-around”的grep将给出你想要的:

grep -Po "(?<=')[^.']*(?=\.)" file

刚看到你用awk标记了这个问题

然后用输出中的那些空行尝试这个awk:

awk -F"['.]" 'NF>2{print $2}' file

(例如,awk单行程适用于您的输入)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐