如何使用 grep 或 awk 打印出特定的块? [复制]
Posted
技术标签:
【中文标题】如何使用 grep 或 awk 打印出特定的块? [复制]【英文标题】:How to use grep or awk to print out specific chunks? [duplicate] 【发布时间】:2019-05-26 16:50:37 【问题描述】:我想打印出一段具有特定开始和结束模式的文本文件。
例如file.txt有
Start X1
<stuff_for_x1>
END
Start Y1
<stuff_for_y1>
END
Start X2
<stuff_for_x2>
END
我希望我的输出是:
Start X1
<stuff_for_x1>
END
Start X2
<stuff_for_x2>
END
打印所有以“Start X”开头并以“END”结尾的块。
我不知道如何解决这个问题。非常感谢您的帮助:)
【问题讨论】:
【参考方案1】:使用awk 选择以 (^
) "Start X" 和 "END" 开头的行之间的所有行
awk '/^Start X/,/^END/' file.txt
【讨论】:
以上是关于如何使用 grep 或 awk 打印出特定的块? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Unix & Linux的文本处理工具 -- grep, sed & awk