亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123下一頁
最近訪問板塊 發(fā)新帖
查看: 3870 | 回復: 29
打印 上一主題 下一主題

[文本處理] 如何實現(xiàn)計算文本行數(shù)最快 [復制鏈接]

論壇徽章:
1
CU十二周年紀念徽章
日期:2013-10-24 15:41:34
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-09-11 14:16 |只看該作者 |倒序瀏覽
文件記錄數(shù)1000w行,wc -l 是1s。大嬸們誰有更好的計算文本行數(shù)的方法。perl/python/c 等等,各種語言都可以。

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [報告]
發(fā)表于 2014-09-11 14:26 |只看該作者
回復 1# 不能超過15字


http://72891.cn/forum.p ... mp;fromuid=24785593

   

論壇徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役紀念章
日期:2018-05-14 11:05:0715-16賽季CBA聯(lián)賽之北控
日期:2018-05-14 11:05:0015-16賽季CBA聯(lián)賽之江蘇
日期:2017-02-27 18:11:0715-16賽季CBA聯(lián)賽之上海
日期:2018-08-15 09:48:5415-16賽季CBA聯(lián)賽之佛山
日期:2018-07-20 17:14:2315-16賽季CBA聯(lián)賽之佛山
日期:2019-09-10 18:08:4615-16賽季CBA聯(lián)賽之山西
日期:2020-03-26 09:40:5115-16賽季CBA聯(lián)賽之佛山
日期:2020-05-08 09:03:54
3 [報告]
發(fā)表于 2014-09-11 14:27 |只看該作者
不知道你怎么用wc -l的,直接wc -l file絕對用不了1s
gentoo ~ # a=`date +%s`;wc -l 1;b=`date +%s`;echo "$b-$a"|bc
10000000 1
0
gentoo ~ # a=`date +%s`;cat 1 | wc -l;b=`date +%s`;echo "$b-$a"|bc
10000000
1

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
4 [報告]
發(fā)表于 2014-09-11 14:29 |只看該作者
本帖最后由 Herowinter 于 2014-09-11 14:36 編輯

回復 1# 不能超過15字

計算換行符個數(shù)的都差不多,O(n)的復雜度.
另外和樓主比,發(fā)現(xiàn)我的虛擬機性能弱爆了...
  1. time seq 10000000|wc -l
  2. 10000000

  3. real    0m5.689s
  4. user    0m5.604s
  5. sys     0m0.072s

  6. time seq 10000000|sed -n '$='
  7. 10000000

  8. real    0m6.409s
  9. user    0m6.270s
  10. sys     0m0.124s
復制代碼

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
5 [報告]
發(fā)表于 2014-09-11 14:33 |只看該作者
回復 4# Herowinter


慢在 seq ,而不是 wc
試試:

seq 10000000 > test.txt
time wc -l test.txt

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
6 [報告]
發(fā)表于 2014-09-11 14:39 |只看該作者
本帖最后由 Herowinter 于 2014-09-11 14:52 編輯

回復 5# ly5066113

恩,多謝多謝,上面的命令還有個管道,肯定慢不少.
這下快多了,根本不需要1秒,wc比sed快不少.
要找一個比wc更高效的,超出個人能力范圍了...
  1. time wc -l test.txt
  2. 10000000 test.txt

  3. real    0m0.086s
  4. user    0m0.069s
  5. sys     0m0.017s

  6. time sed -n '$=' test.txt
  7. 10000000

  8. real    0m0.740s
  9. user    0m0.719s
  10. sys     0m0.022s

  11. time awk 'END{print NR}' test.txt
  12. 10000000

  13. real    0m0.547s
  14. user    0m0.515s
  15. sys     0m0.020s
復制代碼

論壇徽章:
33
榮譽會員
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT運維版塊每日發(fā)帖之星
日期:2016-04-17 06:23:27操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-24 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-05-06 12:46:59
7 [報告]
發(fā)表于 2014-09-11 15:00 |只看該作者
剛剛看了下, wc 其實是 每次讀進來 16k. 然后 計算 回車的數(shù)量.

樓主如果要加快, 可以試著每次讀進來64k或者更長的數(shù)據, 看看會不會快一些.

另外, 樓上的兩位, 那不是wc夠快, 是 seq 出來的 行 不夠長. 只是夠多.

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
8 [報告]
發(fā)表于 2014-09-11 15:10 |只看該作者
回復 7# q1208c

I think so.
   

論壇徽章:
14
15-16賽季CBA聯(lián)賽之遼寧
日期:2019-06-16 15:47:3515-16賽季CBA聯(lián)賽之廣夏
日期:2016-08-13 21:24:352015亞冠之武里南聯(lián)
日期:2015-07-07 17:37:372015亞冠之薩濟拖拉機
日期:2015-07-06 17:07:482015亞冠之全北現(xiàn)代
日期:2015-06-04 13:54:272015亞冠之城南
日期:2015-05-21 15:43:212015年亞洲杯之伊朗
日期:2015-04-25 18:20:362015年亞洲杯之伊朗
日期:2015-04-20 16:06:052015年亞洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
9 [報告]
發(fā)表于 2014-09-11 15:18 |只看該作者
求上wc命令的源碼~~

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
10 [報告]
發(fā)表于 2014-09-11 15:23 |只看該作者
回復 7# q1208c


計算行數(shù),還有比 wc 更快的命令么?自己重新寫的不算。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP