使用sed从下一行匹配中删除到文件结尾

时间:2018-04-01 04:45:08

标签: sed

我想使用sed匹配一行,保留匹配的行并删除所有行。或者换句话说,我想从头开始提取文本

示例输入:

1
2
3
4
5

样本匹配RegEx:/^3$/

示例输出:

1
2
3

我试过了,但它没有用

seq 5 | sed '/^3$/{n;,$d}'

我也试过了,但它会删除我想要保留的匹配行。

seq 5 | sed '/^3$/,$d'

sed的任何想法(由于各种原因,我无法使用AWK)?

2 个答案:

答案 0 :(得分:2)

使用q uit 命令:

 seq 5 | sed '/^3$/q'

答案 1 :(得分:1)

反过来思考:从开始打印到匹配行,这相当于删除。下的行。

seq 5 | sed -n '1,/^3$/p'

输出:

1
2
3