使用以下命令时:
nl /etc/snort/snort.conf | grep output
我得到以下输出:
33 # 6) Configure output plugins
445 # Step #6: Configure output plugins
450 # output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types
因此,我可以看到
Step #6: Configure output plugins
位于第445行。我想输出445行加上前五行(440-444 + 445),所以我使用:
tail -n+440 /etc/snort/snort.conf | head -n 6
但是,这给了我完全不同的结果。因此,我用行号标记了整个文件,进行调查并确实看到行
# Step #6: Configure output plugins
位于第445行...经过对tail命令的反复试验和错误之后,我终于得到了预期的结果,但是我最初认为在445上的行实际上是在529上。我可以通过将之前的命令编号更改为以下内容来验证这一点:
tail -n+524 /etc/snort/snort.conf | head -n 6
然后,我得到了最初的预期结果,显示了配置文件的五行,其中
# Step #6: Configure output plugins
作为输出的最后一行。为什么感觉到的行号之间存在差异(445对529)?
最佳答案
看一下nl
的原始输出。它不会为空行编号。
$ nl /etc/snort/snort.conf
...
32 ###################################################
33 # Step #1: Set the network variables. For more information, see README.variables
34 ###################################################
35 # Setup the network addresses you are protecting
36 ipvar HOME_NET any
37 # Set up the external network addresses. Leave as "any" in most situations
38 ipvar EXTERNAL_NET any
39 # List of DNS servers on your network
40 ipvar DNS_SERVERS $HOME_NET
41 # List of SMTP servers on your network
42 ipvar SMTP_SERVERS $HOME_NET
43 # List of web servers on your network
44 ipvar HTTP_SERVERS $HOME_NET
...
使用
-ba
为所有行编号。默认值为-bt
:仅编号非空行。nl -ba /etc/snort/snort.conf | grep output
关于linux - nl和tail的行号之间存在差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57914122/