作者n3oanderson (wake up ...)
看板Linux
标题Re: [问题] 如何显示最後几行行号?
时间Tue Sep 2 01:44:04 2014
Update:
算行数时用parallel看起来比较有效.
$ ls -lah H
... 7.7G ... H
$ time cat H | parallel --pipe wc -l | awk '{s+=$1} END {print s}'
167559168
real 2m57.751s
user 0m10.844s
sys 0m24.636s
$ time wc -l H
167559168 H
real 3m1.436s
user 0m6.176s
sys 0m8.756s
样本是重覆复制gutenberg的书本内容.
参考:
http://www.rankfocus.com/use-cpu-cores-linux-commands/
=============================
也许考虑先用sed算行数
再用sed取後面N行
测试样本
$ ls -alh A
... 4.2G ... A
$ time wc -l A
90761216 A
real 1m26.886s
user 0m4.000s
sys 0m5.752s
$ time sed -n '$=' A
90761216
real 0m11.648s
user 0m10.676s
sys 0m0.844s
$ time sed -n 90760000,90761216p A
real 0m10.379s
user 0m9.468s
sys 0m0.920s
※ 引述《j222 (热~)》之铭言:
: 想请问各位,
: 在 shell 指令里面我知道可以用 tail 来显示档案的最後几行,
: 也可以用 wc 来查询档案总共有几行,
: 可是要是今天我有一个档案是有数百万行, 而我又想知道这个档案到底有几行时,
: 用 wc 查询就要等很久才能知道结果,
: 而用 tail 的话可以很快就显示最後几行的内容, 可是却不知道行号
: 用 cat -n | tail 也一样会等很久
: 请问有没有甚麽方法可以很快的查询一个大档案的行数, 同时又可以显示最後几行
: 的内容呢?
: 谢谢各位喔!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.110.23
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Linux/M.1409593448.A.B17.html
1F:推 j222: 感谢你!! 可以再请问你的范例中 '$=' 代表的意思是甚麽呢? 09/02 03:00
2F:→ n3oanderson: sed比较快看起来是因为cache. 09/02 12:26
※ 编辑: n3oanderson (111.243.102.210), 09/02/2014 13:49:23
3F:→ Cypresslin: = Print the current line num $ Match the last line 09/02 22:29
4F:推 j222: 真的快很多! 谢谢 n大 , 谢谢各位的意见喔! 09/03 00:24
5F:推 nknudragon: 这篇写了很多Linux指令,值得推荐 建议M起来 09/03 11:59