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

标签 linux bash scripting sed awk

我如何sedgrepawktrbash 脚本中的任何内容 获取

之间每行字符的第一次出现
'      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';
}

最佳答案

如果不需要输出中的空行,这个带“环顾四周”的 grep 将给出你想要的:

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

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

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

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

(awk 单行代码适用于您在示例中的输入)

关于linux - 获取两个特殊字符之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635321/

相关文章:

PHP 5.3 似乎默认缺少 Intl 扩展名

linux - header 中存在的 TCP 标志

c - 给定 inode,是否可以找到套接字(或文件)的修改时间?

linux - 如何查找和删除重复项并保持最新?

python - 如何在 Linux 启动时自动运行 python 脚本

json - 如何对 mongoDB 中的 db.currentOp() json 数组执行 group_by

bash - VSCode : Why is (pipenv) not displayed on the terminal? 上的 Pipenv

Python:循环遍历字母表

python - 使用 VB 或 python 编写 OpenOffice 表单脚本

scripting - 在 APL 中声明多行函数的问题