加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 23:08:06 所属栏目:Linux 来源:网络整理
导读:如何在bash脚本中使用sed,grep,awk,tr或其他任何内容来获取每行之间的第一个字符 ' and . 从这个文件. (该字符是单引号和句点).这真的很难,我喜欢你甚至在尝试. 这样命令产生: 理想输出: orinakpchoviorinakxptmoon 在以下文件中: class GI_DnConstants {
如何在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单行程适用于您的输入)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读