【问题标题】:Is there any way to redirect part of output to a file?有没有办法将部分输出重定向到文件?
【发布时间】:2015-05-27 06:22:05
【问题描述】:

从整个输出中,我想重定向 2 个给定模式(或行)之间的所有内容

一个示例场景是,我有一个日志文件,我只想查看在特定模式之后打印的日志,直到匹配另一个特定模式。

任何人都知道使用终端命令实现此目的的任何方法吗?

【问题讨论】:

    标签: bash


    【解决方案1】:

    /the/command | sed -n '/pattern1/,/pattern2/p' > /some/file 适合你吗?

    【讨论】:

      【解决方案2】:

      您可以使用grepsed(或任何其他可以使用正则表达式的命令)并使用> 进行重定向:

      grep ... > file
      

      【讨论】:

      • 如果我是对的,您的命令只会将与给定模式匹配的行重定向到文件,但不适用于具有 2 种不同模式的行范围。如果我遗漏了什么,请告诉我。
      • @VivekanandSV 这就是我提到正则表达式的原因,它可以覆盖范围。
      • 你能举个例子吗?
      • @VivekanandSV 你能举个例子说明你想捕捉两者之间的什么吗?
      • 开始范围将以“应用程序名称:-”开头的行,而结束范围将以“转换时间:-”开头的行。所以我需要这两条线之间的所有线,包括这两条线。
      猜你喜欢
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多