Categorized | 数据分析

Tags | , ,

两种方法查看文件的行数

Posted on 04 十二月 2009 by 柳城 ,阅读 690

对于我们所操作的文件或是数据,行数是一个最常用的值。最后的统计结果当中,这个行数也是差不多作为一个必需项出现的,因为行数在大部分情况下,就是代表着总数。

我每天工作都是在接触两种系统:XP和Linux。所以介绍两种我常用的计算行数的方法,Excel的方法及linux命令的方法

1,用Excel查看行数

打开Excel,在右下角的地方点右键,有“平均值”、“计数”、“计数值”、“最大值”、“求和”等。选择“计数”,因为“计算”是最常用的。这里的“计数”可以计算行数,也可以计算列数。计数的范围就是鼠标选择的范围。

 用Excel查看行数

“计数”与“计数值”的区别:“计数值”是指计算仅是数字的数值,不包括字符串。“计数”就没有这限制。

缺点:只有一个值时无法计算。这在数据大时会引起一些问题。例如误删等情况。需要特别留意。具体看图:

两种方法查看文件的行数
两种方法查看文件的行数

只有一个值时无法计数

2,用Linuxwc命令

在Linux下用wc进行计数。返回文件的行数、字数、字节数等。

看个例子:

wc wc1.txt
3  5 16 wc1.txt
输出信息依次是:行数 字数 字节数 文件名称。

再具体点,单个统计。

wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数

需要留意的:貌似wc统计的行算是用换行符来确定的。就是说最后一行要有换行符,最后wc的行数才是正确的,否则将会少一行。

为了说明这个问题,看一个perl的测试:

perl -e 'print "a"'|wc
      0       1       1
perl -e 'print "a\n"'|wc
      1       1       2

够清楚了吧。

转载请注明 : 来源于 两种方法查看文件的行数 | 柳城

赞助商

17条评论 于 “两种方法查看文件的行数”

  1. simaopig simaopig Says:

    不是很同意最后的观点。。

    关于我的测试我已经发邮件给你了。。呵呵。

    [回复]

    Lc.
    Lc. 回复:

    可是我已经测试了好多次了。~~ 有可能是我们用的wc版本不一样咯。

    [回复]

    Lc.
    Lc. 回复:

    我没收到你的邮件哦~~ 你要打开文件来看才看得出来的。 [得意]

    [回复]

  2. 创业故事 创业故事 Says:

    真是不错的知识!

    [回复]

  3. simaopig simaopig Says:

    你发给我的例子我看到了。嘻嘻。。

    不过这个做何解?

    perl -e 'print "\n"'|wc -l

    返回的结果是1哦。。

    [回复]

    Lc.
    Lc. 回复:

    \n是换行符啊. 输出换行符了,那wc就有1啦.
    :)

    [回复]

  4. simaopig simaopig Says:

    呃。。貌似可以理解了。。

    因为我写的文件最后都有一个换行符。嗯。。

    [回复]

  5. simaopig simaopig Says:

    [yufulong@p2-j5:~/demo] $ touch b
    [yufulong@p2-j5:~/demo] $ nawk '{print "abcd" > "a"}' b
    [yufulong@p2-j5:~/demo] $ wc -l a
    1 a
    [yufulong@p2-j5:~/demo] $

    但是难道我在linux下新建的文件,往里面输入的时候会自动加换行符吗?这有些不可理解。呵呵。

    [回复]

    Lc.
    Lc. 回复:

    哈哈.是啊..大多数情况下在Linux下往文件添加数据,在最后都会自动添加换行符.. :)
    我这里没有nawk的命令

    [回复]

    Lc.
    Lc. 回复:

    原来是awk.哈

    [回复]

  6. simaopig simaopig Says:

    [yufulong@p2-j5:~/demo] $ nawk '{print "abcd\n" > "a"}' b
    [yufulong@p2-j5:~/demo] $ wc -l a
    1 a
    [yufulong@p2-j5:~/demo]

    这样也是1行。看来我这里的\n应该是自动加的了。呵呵。

    [回复]

  7. simaopig simaopig Says:

    经测试,完全同意你的观点了。呵呵。是我自己没有调查清楚。。刚又做了两个测试。果然如此:

    [yufulong@p2-j5:~] $ echo -n "UNIX" | wc -l
    0
    [yufulong@p2-j5:~] $ echo "UNIX" | wc -l
    1
    [yufulong@p2-j5:~] $

    echo 默认加换行符的时候就是1行,不加就是0行。。OK。。

    [回复]

  8. simaopig simaopig Says:

    呵呵,是的,就是awk。。 [呲牙]

    [回复]

  9. simaopig simaopig Says:

    http://www.xiaoxiaozi.com/2009/12/01/1656/

    我已经加上说明了。呵呵。谢谢你。。没有你的话这个我可能真的不知道。。嗯。。 [流泪]

    [回复]

  10. CheonNii CheonNii Says:

    如果用PHP好像可以用file函数打开文本文件,然后对其count就可以知道多少行了。

    [回复]

1 Trackbacks For This Post

  1. linux wc 命令简介 | 小小子,simaopig Says:

    [...] 感谢柳城博客兄弟的指导,在他两种方法查看文件的行数这篇日志中我们讨论了好多。呵呵。 echo "UNIX" | wc -l # 1 echo -n "UNIX" | wc -l # 0 echo "UNIXnnn" | wc -l # 1 2009年12月1日 作者:  simaopig 跳到评论部分 linux linux, wc 首页 > linux > linux wc 命令简介 [...]

Leave a Reply

广告招租

[强] [握手] [可爱] [ok] [呲牙] :) [偷笑] [流泪] [疑问] [亲亲] [擦汗] [得意] [衰] [可怜] [抱拳] [坏笑] more »

无觅相关文章插件,快速提升流量