sed:删除匹配的行以及之后的所有内容

时间:2019-11-19 08:38:03

标签: sed

我正在尝试使用sed使用git过滤器删除文件中第一个空白行之后的所有行。

这似乎删除了空行之后的所有内容

sed -i '/^$/q' test.rpt

我还如何包含要删除的空白行本身?

2 个答案:

答案 0 :(得分:3)

如果这是GNU sed,只需使用Q而不是q

sed -i '/^$/Q' test.rpt

对于BSD sed,使用-n开关禁止自动打印,并手动打印行。例如:

sed -n -i '/^$/q;p' test.rpt

PS:您可能想将正则表达式更改为^[[:blank:]]*$,以将所有空白字符的行也视为空白行。

答案 1 :(得分:2)

尝试一下:-

sed -i '/^$/,$ d' inputfile