这个问题已被问过很多次,但给出的答案都是 GNU sed 特定的。
sed -i '' "/${FIND}/,+2d""$FILE"
给出“预期上下文地址”错误。
请有人给我一个如何使用 BSD sed 删除包含匹配项的 X 行和不包含匹配项的 X 行的示例吗?
最佳答案
问题是这根本不是 sed 的工作,而是 awk 的工作。
$ seq 5 | awk '/3/{c=2} !(c&&c--)'
1
2
5
只需将变量c
设置为您想要跳过的行数即可。
关于bash - 如何使用 BSD/OS X sed 在匹配后删除/删除 X 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38462174/