gpt4 book ai didi

regex - grep - 正则表达式 - 匹配到一个特定的词

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

假设我有一个包含这样几行的文件

abcefghijklxyz
abcefghijkl

我只想获取 abc 和行尾之间的字符串。行尾可以定义为正常的行尾或字符串xyz

我的问题是

如何使用 grep 和正则表达式只获取匹配的字符串?例如,上面显示的两行的预期输出将是

efghijkl
efghijkl

我不需要开始和结束标记。

到目前为止我尝试了什么

grep -oh "abc.*xyz"

我使用 Ubuntu 13.04 和 Bash shell。

最佳答案

此行将前导 abcending xyz(如果有)砍掉,并为您提供所需的部分:

grep -oP '^abc\K.*?(?=xyz$|$)'

以你的例子:

kent$  echo "abcefghijklxyz
abcefghijkl"|grep -oP '^abc\K.*?(?=xyz$|$)'
efghijkl
efghijkl

文本中间有 xyz 的另一个例子:

kent$  echo "abcefghijklxyz
abcefghijkl
abcfffffxyzbbbxyz
abcffffxyzbbb"|grep -oP '^abc\K.*?(?=xyz$|$)'
efghijkl
efghijkl
fffffxyzbbb
ffffxyzbbb

关于regex - grep - 正则表达式 - 匹配到一个特定的词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20373334/

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