Board logo

标题: [文本处理] 请教sed命令获取两个字符串之间的行 [打印本页]

作者: netdzb    时间: 2021-2-11 14:50     标题: 请教sed命令获取两个字符串之间的行

hello.txt内容如下,

linux
ubuntu2134555
python
gcc
234567ubuntu2134555
ubuntu87654
golang
ubuntu21555
ubuntu4555

运行
sed -E -e ":a;$!{N;ba;};s/ubuntu.*?\n//g" hello.txt

运行结果为啥只有
linux

我希望得到的结果是
linux
python
gcc
golang

我只是用另外一种模式空间来匹配,为什么运行结果不对啊?
作者: flashercs    时间: 2021-2-11 15:10

  1. sed -E -e ":a;$!{N;ba;};s/ubuntu[^\n]*\n//g" hello.txt
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2