【问题标题】:Difference between linenumbers of cat file | nl and wc -l filecat 文件的行号之间的区别 | nl 和 wc -l 文件
【发布时间】:2011-01-26 10:54:41
【问题描述】:

我有一个文件,例如9818行。当我使用 wc -l 文件时,我看到 9818 行。当我 vi 文件时,我看到 9818 行。当 i :set numbers 时,我看到 9818 行。但是当我 cat 文件 | nl,我看到最后的行号是 9750(例如)。基本上我在问为什么 cat 文件中的行号 | nl 和 wc -l 文件不匹配。

【问题讨论】:

  • 请注意,nl 将文件作为参数。你不需要使用cat

标签: unix ksh


【解决方案1】:

wc -l:计算所有行数

nl:计算所有(非空)行

试试

nl -ba:计算所有行数

【讨论】:

    【解决方案2】:

    nl(1) 表示默认情况下页眉和页脚行 被编号 (-hn -fn),并且通过在各行上重复 \; 来指定这些行。也许您的输入文件包括其中一些?

    我建议逐行阅读nl 的输出和cat -n 的输出,看看哪里有分歧。或者,如果您想从阅读 9818 行中获得乐趣,请使用 diff -u。 :)

    【讨论】:

      【解决方案3】:

      nl 不给空白行编号,所以这几乎可以肯定是原因。如果您可以将我们指向该文件,我们可以确认这一点,但我怀疑是这种情况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-26
        • 1970-01-01
        • 1970-01-01
        • 2015-03-30
        • 2013-11-07
        • 2012-02-17
        • 1970-01-01
        • 2011-12-23
        相关资源
        最近更新 更多