【发布时间】:2020-08-20 14:47:36
【问题描述】:
我有一个包含以下内容的 file.txt
test 1
test 2
test 3
test 1
test 5
test 6
我想用 sed 删除“test 1”第一个匹配后的 2 行,所以 file.txt 的最终结果如下:
test 1
test 5
test 6
我知道我可以使用命令在匹配后删除 2 行
sed -i '/test 1/,+2d' file.txt
但这将适用于“test 1”的所有匹配项,并且生成的 file.txt 将为空。 如何仅在第一场比赛中执行此操作?
【问题讨论】:
-
不要使用
sed,使用更可编程的东西,例如awk。 -
@Barmar 我也不介意使用 awk。知道如何制定命令吗?