对于我们所操作的文件或是数据,行数是一个最常用的值。最后的统计结果当中,这个行数也是差不多作为一个必需项出现的,因为行数在大部分情况下,就是代表着总数。
我每天工作都是在接触两种系统:XP和Linux。所以介绍两种我常用的计算行数的方法,Excel的方法及linux命令的方法。
1,用Excel查看行数
打开Excel,在右下角的地方点右键,有“平均值”、“计数”、“计数值”、“最大值”、“求和”等。选择“计数”,因为“计算”是最常用的。这里的“计数”可以计算行数,也可以计算列数。计数的范围就是鼠标选择的范围。
“计数”与“计数值”的区别:“计数值”是指计算仅是数字的数值,不包括字符串。“计数”就没有这限制。
缺点:只有一个值时无法计算。这在数据大时会引起一些问题。例如误删等情况。需要特别留意。具体看图:
只有一个值时无法计数
2,用Linux的wc命令
在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条回应:“两种方法查看文件的行数”
不是很同意最后的观点。。
关于我的测试我已经发邮件给你了。。呵呵。
可是我已经测试了好多次了。~~ 有可能是我们用的wc版本不一样咯。
我没收到你的邮件哦~~ 你要打开文件来看才看得出来的。 [得意]
真是不错的知识!
你发给我的例子我看到了。嘻嘻。。
不过这个做何解?
perl -e ‘print “\n”‘|wc -l
返回的结果是1哦。。
\n是换行符啊. 输出换行符了,那wc就有1啦.
:)
呃。。貌似可以理解了。。
因为我写的文件最后都有一个换行符。嗯。。
[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下新建的文件,往里面输入的时候会自动加换行符吗?这有些不可理解。呵呵。
哈哈.是啊..大多数情况下在Linux下往文件添加数据,在最后都会自动添加换行符.. :)
我这里没有nawk的命令
原来是awk.哈
[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应该是自动加的了。呵呵。
经测试,完全同意你的观点了。呵呵。是我自己没有调查清楚。。刚又做了两个测试。果然如此:
[yufulong@p2-j5:~] $ echo -n “UNIX” | wc -l
0
[yufulong@p2-j5:~] $ echo “UNIX” | wc -l
1
[yufulong@p2-j5:~] $
echo 默认加换行符的时候就是1行,不加就是0行。。OK。。
呵呵,是的,就是awk。。 [呲牙]
http://www.xiaoxiaozi.com/2009/12/01/1656/
我已经加上说明了。呵呵。谢谢你。。没有你的话这个我可能真的不知道。。嗯。。 [流泪]
[握手] :)
[…] 感谢柳城博客兄弟的指导,在他两种方法查看文件的行数这篇日志中我们讨论了好多。呵呵。 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 命令简介 […]
如果用PHP好像可以用file函数打开文本文件,然后对其count就可以知道多少行了。