【发布时间】:2015-08-20 17:59:56
【问题描述】:
我有一个文件,其中的文本分为 11 行或 10 行的块(每个块由一个新行分隔)。我只想提取 11 行块。是否有任何 sed 命令可以让我指定 11 个模式(每行每个模式)并仅在完全匹配时打印它们(整个块)?
干杯
【问题讨论】:
-
“由新行分隔”表示数据块之间有一个空行分隔?是的,如果选择在10到11之间就可以;经常使用 N 命令(10 或 11 次)并检查最后一行是否为空。但这并不漂亮。如果也可以有 9 条(或 12 条)行,那么我认为它会变得更加棘手。
-
是的,有一个空行分隔数据块。我只有 10 和 11 行块。你能画出它的样子吗(这个 N 命令解决方案)?
-
您接受的
awk解决方案更易于理解且更健壮。虽然你可以在sed中这样做,但我真的认为它不合适。