在Unix日志中与上面的特定单词和两行保持一致

时间:2017-05-24 13:42:16

标签: unix grep logfile

我有一个很长的日志文件,我想只保留带有'change'字样的行和这行上面的两行。我怎么能在Unix中做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您可以将文件复制到Linux(除非您有cygwin或其他类似的实用程序)并使用grep,这将更容易(我已经找到)。 命令为:grep -B 2 change your.log

这将找到包含更改的行,并在每个更改行之前包含前两行。

=====

你可以在Notepad ++中获得所需的行,但我还没有(还)找到一种简单的方法来做同样的事情,但它是可能的。这一切都取决于你的意思"长日志文件",因为这项工作可能需要一些时间:

  1. 首先,使用Search =>马克...
  2. 输入'更改'搜索词
  3. 检查'书签行'复选框
  4. 点击“全部标记”'按钮。
  5. ......此时,所有已经改变的行都是'将在左侧显示书签。

    1. 移至文件顶部(如果尚未存在)
    2. 按F2跳转到下一个书签
    3. 在左侧,点击上面的两行也会显示为书签(使它们与更改行具有相同的书签指示)

    4. 对所有更改行重复步骤6和7,直到您拥有所有"三胞胎"覆盖的书签(带有变化的行和前两行)

    5. 设置完所有书签后,执行:Search =>书签=>删除未标记的行

    6. 在Notepad ++中可能有其他方式可能有人知道,但我已将这些步骤用于其他需求。 F2有助于在书签之间跳转,因此这有助于加快这一过程。