使用 sed 忽略整行

使用 sed 忽略整行

我在互联网上到处搜索,但我似乎找不到满足这个问题的答案 - 我需要用来sed显示文件中的所有行,不包括其中的一组。

我并不是试图删除它们,也不是将它们重写为评论,而是简单地不显示它们,这就是我在网上搜索时遇到的问题。无论我如何措辞,我都会得到与执行上述操作相关的结果。

我已经尝试过 中的否定符号sed -n '35,45'p /dir/file,但没有得到任何积极的结果。我忘记了什么?

答案1

显示所有行除了第 35 至 45 行,使用delete命令:

sed '35,45d' /dir/file

这不会改变原始文件。它只是从输出中排除行范围。

例子

考虑这个测试文件:

$ cat file
1
2
3
4
5

我们可以使用以下命令排除第 2 行到第 4 行:

$ sed '2,4d' file
1
5

相关内容