【发布时间】:2021-03-21 21:26:42
【问题描述】:
示例文件:
Pattern 1
AAAAAAAAAA
BBBBBBBBBB
Pattern 2
我想在一行中打印文件中两个模式之间的行。 从上一个问题How to print lines between two patterns, inclusive or exclusive (in sed, AWK or Perl)? 我发现非常好
awk '/Pattern 1/{flag=1; next} /Pattern 2/{flag=0} flag' file
有输出:
AAAAAAAAAA
BBBBBBBBBB
我想要的输出:
AAAAAAAAAABBBBBBBBBB
【问题讨论】:
-
如果
Pattern1存在但Pattern2不存在应该怎么办?反之亦然?如果两者都在预期订单的 1 行怎么办?如果它们都以相反的顺序在 1 行上怎么办?如果两个分隔符之间的文本中间有一个空行怎么办? -
输入中是否可以多次出现
Pattern 1 ... Pattern 2,如果是这样,您希望打印所有内容还是只打印第一个或最后一个或其他内容? -
在我(幸运)的情况下,模式总是一致的。
-
@anubhava 我该怎么做
标签: awk