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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
打印 上一主題 下一主題

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

論壇徽章:
1
CU十二周年紀念徽章
日期:2013-10-24 15:41:34
11 [報告]
發(fā)表于 2014-09-11 15:31 |只看該作者
計算距離上次分析,增加了多少文本,F(xiàn)在的做法是,計算當前的總行數(shù),減去上次分析的記錄數(shù)。
目前慢在,計算當前文本記錄數(shù)上。
如果大嬸有其他處理增量文件的方法,請不吝賜教。
回復 2# jason680


   

論壇徽章:
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
12 [報告]
發(fā)表于 2014-09-11 15:36 |只看該作者
回復 11# 不能超過15字

計算行數(shù), 目前不知道有比 wc 更快的.

但你的問題卻有解決方案. 而且, 是現(xiàn)成的.

在你每次處理之前, 先 stat 當前的文件, 得到文件的大小.

然后 tail 這個文件.

下次 tail 的時候, 從 上次記錄的大小開始. 不需要計算.
   

論壇徽章:
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
13 [報告]
發(fā)表于 2014-09-11 15:47 |只看該作者
回復 12# q1208c

好辦法,贊.

   

論壇徽章:
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
14 [報告]
發(fā)表于 2014-09-11 15:48 |只看該作者
回復 13# Herowinter

這是四年前我用過的東東了.
   

論壇徽章:
1
CU十二周年紀念徽章
日期:2013-10-24 15:41:34
15 [報告]
發(fā)表于 2014-09-11 15:51 |只看該作者
這個也不合適,每次開始和結束都有BEGIN-END,我處理的時候下筆交易正好打印到一半,這一半我要留到下次處理,這次不能截取到啊。要不然會漏掉一些交易,無法處理。
回復 12# q1208c


   

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
16 [報告]
發(fā)表于 2014-09-11 15:55 |只看該作者
回復 14# q1208c


    測試了一下,stat里面的size應該是字符數(shù)(包括\n)吧?如何能得到本次修改的行數(shù)呢?
  1. cat > abc
  2. a
  3. c
  4. d
  5. s
  6. a

  7. stat abc
  8.   File: `abc'
  9.   Size: 10              Blocks: 8          IO Block: 4096   regular file
  10. Device: 803h/2051d      Inode: 1433635     Links: 1
  11. Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  12. Access: 2014-09-11 15:29:29.000000000 -0400
  13. Modify: 2014-09-11 15:29:31.000000000 -0400
  14. Change: 2014-09-11 15:29:31.000000000 -0400

  15. cat >> abc
  16. j
  17. kl
  18. s

  19. stat abc
  20.   File: `abc'
  21.   Size: 17              Blocks: 8          IO Block: 4096   regular file
  22. Device: 803h/2051d      Inode: 1433635     Links: 1
  23. Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
  24. Access: 2014-09-11 15:29:29.000000000 -0400
  25. Modify: 2014-09-11 15:30:20.000000000 -0400
  26. Change: 2014-09-11 15:30:20.000000000 -0400
復制代碼

論壇徽章:
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
17 [報告]
發(fā)表于 2014-09-11 15:55 |只看該作者
回復 15# 不能超過15字

唉, 真是笨呀.

你不會 back 回 一個記錄 的長度 ?!

我假設你的文件 叫 log1.log

假設你的單條記錄長度約為 100字節(jié).

1. stat log1.log ==> size = 8192

   tail -n+1 log1.log | process

2. stat log1.log ==> size = 16384
   
   tail -c $((8192 - 100)) | process

3. stat log1.log ==> size = 32768
   
   tail -c $((16384 - 100)) | process
4. ... ...




   

論壇徽章:
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
18 [報告]
發(fā)表于 2014-09-11 15:56 |只看該作者
回復 16# bulletmarquis

行數(shù)的沒有.

tail 支持 用 字節(jié)數(shù)處理. 看我在前面寫的.
   

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
19 [報告]
發(fā)表于 2014-09-11 15:59 |只看該作者
回復 18# q1208c


    看到大神的回復了,只是當單行長度比較大的時候,用tail -c是否會比tail -1000慢呢?

論壇徽章:
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
20 [報告]
發(fā)表于 2014-09-11 16:04 |只看該作者
回復 19# bulletmarquis

這倆功能不一樣, 無所謂快慢.

一個最后1000行. 一個是從 某個字符開始.

如果我沒有看錯代碼的話, tail -c 要更快.

因為只有一個 lseek 然后, 就是 read write 了

而 tail -1000, 需要一個 lseek 0 2 , 然后再 lseek 最近的4k的地方, 然后讀出4k, 計算行數(shù),
如果不滿足 1000, 再往后4k, 讀出來, 計算行數(shù), 如此, 直到滿足1000這行數(shù), 然后, 開始 read  write .



   
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP