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

  免費注冊 查看新帖 |

Chinaunix

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

去重復(fù)<轉(zhuǎn)> [復(fù)制鏈接]

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
21 [報告]
發(fā)表于 2011-09-02 02:47 |只看該作者
本帖最后由 yinyuemi 于 2011-09-02 03:05 編輯

貼下我的吧,呵呵,
  1. awk '
  2. {e=0
  3.    {for(i=1;i<NR;i++)
  4.       if(split("#"gensub(",","##","g",a[i])"#",x,"#"gensub(",","#|#","g",$0)"#")>=6){e=1;break}
  5.    }
  6.    if(!e){a[NR]=$0;print $0}
  7. }'

  8. 使用fucntion還可以簡化下:

  9. awk '
  10. function f(a,b){return "#"gensub(",","#"b"#","g",a)"#";}
  11. {e=0
  12.    {for(i=1;i<NR;i++)
  13.       if(split(f(a[i],""),x,f($0,"|"))>=6){e=1;break}
  14.    }
  15.    if(!e){a[NR]=$0;print $0}
  16. }'


復(fù)制代碼

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
22 [報告]
發(fā)表于 2011-09-02 08:28 |只看該作者
回復(fù)  jason680


思路新穎~
xrzs1986 發(fā)表于 2011-09-02 01:57



是的!!

通用性與效能兼具.
(想說在10樓在最底了,
沒人看了,沒人理.... 效能也沒A^3+B^3..好)

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
23 [報告]
發(fā)表于 2011-09-02 08:33 |只看該作者
是的!!

通用性與效能兼具.
(想說在10樓在最底了,
沒人看了,沒人理.... 效能也沒A^3+B^3..好)
jason680 發(fā)表于 2011-09-02 08:28


如果數(shù)據(jù)量比較大重復(fù)多,好像也沒12樓的效能好,也可能是我的數(shù)據(jù)樣品沒代表性

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
24 [報告]
發(fā)表于 2011-09-02 08:43 |只看該作者
本帖最后由 jason680 于 2011-09-02 08:46 編輯
如果數(shù)據(jù)量比較大重復(fù)多,好像也沒12樓的效能好,也可能是我的數(shù)據(jù)樣品沒代表性
waker 發(fā)表于 2011-09-02 08:33


不知,你如何評估效能....

12樓有兩個for....
且 l (在第一個for中)會愈來愈大....
for(i=1;i<=l;i++){s=0;for(j=1;j<=NF;

注: 我沒測試過....且尚可改善效能(如果有須要)......

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
25 [報告]
發(fā)表于 2011-09-02 08:47 |只看該作者
回復(fù) 24# jason680


    time出來的

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
26 [報告]
發(fā)表于 2011-09-02 08:48 |只看該作者
稍等一會兒我帖一下

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
27 [報告]
發(fā)表于 2011-09-02 09:06 |只看該作者

  1. [waker@proxy ~]$ time awk -F, '{s=0;m=1;for(i=1;i<=NF;i++)s+=$i^3;for(i=1;i<=NF;i++)m*=(!a[s-$i^3]++);if(m)print}' file >/dev/null

  2. real    0m16.777s
  3. user    0m13.445s
  4. sys     0m0.471s
  5. [waker@proxy ~]$ time  awk -F, '{for(i=1;i<=l;i++){s=0;for(j=1;j<=NF;j++)if(index(a[i],$j))s++;if(s>=5)next}a[++l]=$0}1' file >/dev/null                        
  6. real    0m25.130s
  7. user    0m22.973s
  8. sys     0m0.486s
  9. [waker@proxy ~]$ time awk -F, '{T="";for(n=0;n++<NF;){T=T","a[$n];a[$n]=a[$n]","NR};split(T,t,",");f=0;for(n in t){if(t[n]=="")continue;if(gsub(t[n],"",T)>=5)f=1};if(f==0)print $0}' file >/dev/null


  10. real    8m34.754s
  11. user    7m46.657s
  12. sys     0m9.780s
  13. [waker@proxy ~]$ wc -l file
  14. 388800 file
復(fù)制代碼
最后一種方法是我Ctrl-C出來的時間,還一直在算,等不急了

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
28 [報告]
發(fā)表于 2011-09-02 09:18 |只看該作者
本帖最后由 yinyuemi 于 2011-09-02 09:24 編輯
  1. for((i=1;i<=1000;i++)); do echo '02,10,11,18,27,30
  2. 06,09,11,14,20,31
  3. 02,10,11,18,27,33
  4. 01,03,04,16,18,22
  5. 07,14,22,27,28,32
  6. 02,10,11,16,18,27
  7. 04,05,09,15,21,30
  8. 12,13,17,20,22,23
  9. 04,05,09,15,21,30' >>testfile; done

  10. wc -l testfile
  11. 9000 testfile

  12. 4#:

  13. time awk -F, '{s=0;m=1;for(i=1;i<=NF;i++)s+=$i^3;for(i=1;i<=NF;i++)m*=(!a[s-$i^3]++);if(m)print}' testfile
  14. 02,10,11,18,27,30
  15. 06,09,11,14,20,31
  16. 01,03,04,16,18,22
  17. 07,14,22,27,28,32
  18. 04,05,09,15,21,30
  19. 12,13,17,20,22,23

  20. real    0m0.154s
  21. user    0m0.154s
  22. sys     0m0.000s

  23. 10#:(ctrl-c 終止程序)
  24. time awk -F, '{T="";for(n=0;n++<NF;){T=T","a[$n];a[$n]=a[$n]","NR};split(T,t,",");f=0;for(n in t){if(t[n]=="")continue;if(gsub(t[n],"",T)>=5)f=1};if(f==0)print $0}' testfile
  25. 02,10,11,18,27,30
  26. 06,09,11,14,20,31
  27. 01,03,04,16,18,22
  28. 07,14,22,27,28,32
  29. 04,05,09,15,21,30
  30. 12,13,17,20,22,23


  31. real    10m20.540s
  32. user    10m18.173s
  33. sys     0m0.982s


  34. 12#:

  35. time awk -F, '{for(i=1;i<=l;i++){s=0;for(j=1;j<=NF;j++)if(index(a[i],$j))s++;if(s>=5)next}a[++l]=$0}1' testfile
  36. 02,10,11,18,27,30
  37. 06,09,11,14,20,31
  38. 01,03,04,16,18,22
  39. 07,14,22,27,28,32
  40. 04,05,09,15,21,30
  41. 12,13,17,20,22,23

  42. real    0m0.128s
  43. user    0m0.127s
  44. sys     0m0.001s


  45. 21#:

  46. time awk '
  47. function f(a,b){return "#"gensub(",","#"b"#","g",a)"#";}
  48. {e=0
  49.    {for(i=1;i<NR;i++)
  50.       if(split(f(a[i],""),x,f($0,"|"))>=6){e=1;break}
  51.    }
  52.    if(!e){a[NR]=$0;print $0}
  53. }' testfile
  54. 02,10,11,18,27,30
  55. 06,09,11,14,20,31
  56. 01,03,04,16,18,22
  57. 07,14,22,27,28,32
  58. 04,05,09,15,21,30
  59. 12,13,17,20,22,23

  60. real    0m0.841s
  61. user    0m0.837s
  62. sys     0m0.001s


  63. 4#waker兄的效率很高,不過適用于數(shù)值型數(shù)據(jù)
  64. 10# 通用性好,不過效率上要差
  65. 12# 如Tim兄所言,數(shù)值是2位的,效率很高
  66. 21# 通用性上稍差,如果是文本去重復(fù)的,且文本中包含正則符號或","或"#",可能會有問題(10#的代碼使用gsub可能也有類似問題,沒測試),效率上比4#和12#的要差

復(fù)制代碼

論壇徽章:
0
29 [報告]
發(fā)表于 2011-09-02 09:50 |只看該作者
好貼留名,學(xué)習(xí)!

論壇徽章:
145
技術(shù)圖書徽章
日期: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技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
30 [報告]
發(fā)表于 2011-09-02 10:02 |只看該作者
本帖最后由 jason680 于 2011-09-02 10:04 編輯
yinyuemi 發(fā)表于 2011-09-02 09:18


請問樓主何者正確....
$ cat repeat5a
01,02,03,04,05,06
01,02,03,04,05,07
01,02,03,04,07,09
  1. $ awk -F, '{s=0;m=1;for(i=1;i<=NF;i++)s+=$i^3;for(i=1;i<=NF;i++)m*=(!a[s-$i^3]++);if(m)print}' repeat5a
復(fù)制代碼
01,02,03,04,05,06
  1. $ awk -F, '{for(i=1;i<=l;i++){s=0;for(j=1;j<=NF;j++)if(index(a[i],$j))s++;if(s>=5)next}a[++l]=$0}1' repeat5a
復(fù)制代碼
01,02,03,04,05,06
01,02,03,04,07,09
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP