linux - 使用 sed,如何删除某一行范围内字符串的所有实例?

标签 linux bash sed

我知道

sed '/match/ d' file

删除所有匹配的行,并且

sed '1,3 s/match//g' file

删除前 3 行中的所有匹配项。

但是如何删除前 3 行中匹配的所有行?

如果可能,给出一个只有一个 sed 调用(没有管道)的解决方案。

最佳答案

您可以将两者结合起来:

sed '1,3{/match/d;}' file

这将删除指定地址范围内包含 match 的行,即上面示例中的第 1-3 行。

关于linux - 使用 sed,如何删除某一行范围内字符串的所有实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660598/

相关文章:

linux - 在 ssh 中传输变量并得到回复

c - 如何从 linux C 程序读取计数器到 bash 测试脚本?

linux - 安装 ns2 时如何在我的 makefile 中设置 gcc 编译器版本?

bash - 想要创建一个脚本来删除桌面上的所有屏幕截图

linux - 将模式的奇数和偶数出现替换为另一个相同的模式

c - 如何使用 openmp 产生一次线程

bash - 尝试安装 FSPS 引发环境变量错误

linux - 删除每个第 X 个文件的 Linux 脚本

bash - 按长度替换模式(Bash 的可移植解决方案)

xml - 从简单的 XML 文件中提取数据