我的问题是从首先出现的三个模式中做出决定,然后删除第一个模式之前的所有内容,并同样删除最后一个模式之后的所有内容。
我知道可以使用以下命令删除以上模式的所有内容:
sed -n '/pattern/,$p' input
grep -E -m1 "pattern1|pattern2|pattern3"
将打印包含第一个模式的行,我想我必须将此命令的输出提供给一些变体,sed
但不知道该怎么做。
- 模式1
- 模式2
- 模式3
Line1 这是一个示例行,例如没有任何意义 请忽略
Line2 仅用于给出示例 PATTERN2 以使我的查询对所有人都清楚
Line3 这是一个示例行例如没有任何意义 请忽略
Line4 仅用于给出示例 pattern1 到让我的查询对所有人都清楚
Line5 这是一个示例行,例如没有任何意义 请忽略
Line6 仅用于给出示例 pattern1 以使我的查询对所有人都清楚 Line7
这是一个示例行例如没有任何意义 请忽略
Line8 仅表示为了给出一个示例 pattern2 以使我的查询对所有
Line9 都清楚这是一个示例行,例如没有任何意义,请忽略
Line10 仅用于
提供
示例 pattern3 以使我的查询对所有人都
清晰一个示例 pattern3 使我的查询对所有人都清楚
Line14 仅用于举例说明我的查询对所有人都清楚
期望的输出:
如果第一个模式是 PATTERN2 并且 pattern3 是三个模式中的最后一个模式,那么下面将是所需的输出:
Line2 仅用于提供示例 PATTERN2 以使所有查询都清楚
Line3 这是示例行,例如没有任何意义 请忽略
Line4 仅用于提供示例 pattern1 以使所有查询都清楚
Line5 这是示例行没有任何意义的示例 请忽略
Line6 仅用于给出示例 pattern1 以使所有查询都清楚 Line7
这是示例行例如没有任何意义 请忽略
Line8 仅用于给出示例 pattern2 以使所有查询都清楚
Line9这是一个示例行,例如没有任何意义请忽略 Line10 仅用于提供示例 pattern3 以使我的查询对所有人都清楚
Line11 仅用于提供示例 PATTERN2 以使我的
查询
清楚