如何使用尾巴和头部在配置文件中的一行之前立即显示5行

时间:2019-06-20 21:54:09

标签: linux

因此,我想在snort.conf文件中显示# Step #6: Configure output plugins的行之前立即显示5行。

所以我使用以下命令获取行号:

nl /etc/snort/snort.conf | grep output

,行号是445

然后,该书建议使用以下内容:

tail -n+445 /etc/snort/snort.conf | head -n 6

但这不起作用,并且不会在第445行之前显示第5行

3 个答案:

答案 0 :(得分:1)

可以使用grep命令在比赛前回顾几行:

 grep -B 5 output /etc/snort/snort.conf

将在与“输出”匹配的每一行之前打印5行

来自grep man page

  

-B NUM,--before-context = NUM​​

     

在匹配的行之前打印前导上下文的NUM行。在包含以下内容的连续组之间放置包含组分隔符(-)的行   火柴。使用-o或--only-matching选项,此选项无效,并且   警告。

答案 1 :(得分:1)

tail -n +445输出从445开始的行。head -n 6显示输出的前6行。

它们一起显示445-451行。

如果您想显示439-445,则必须进行相应调整:

tail -n +439 /etc/snort/snort.conf  | head -n 6

答案 2 :(得分:0)

您使用的tail -n+445 snort.conf命令表示从445行开始并输出到文件末尾。 head -n 5表示从中获得前5行。因此,您从445开始,然后进行前5行。这样就得到了445、446、447、448和449行。

您需要将尾值设置为445-5 =440。所以请尝试

tail -n+440 snort.conf | head -n 5

是的,我肯定会使用grep -B。您还应该检出-A(比赛后的行)和-C(比赛前的行以及比赛后的行)!