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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3780 | 回復(fù): 12
打印 上一主題 下一主題

[文本處理] 原論壇題目升華討論 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-04-08 18:19 |只看該作者 |倒序?yàn)g覽
還是忍不住問問高手,在論壇找了個(gè)與這個(gè)相似的問題,但是實(shí)際用了效果不是很好。
http://www.72891.cn/thread-4098271-1-1.html
  1. [Centos@cctv]$ more 90
  2. 652        10710        WQL100        9        81x11x11        2013/9/7        10:30
  3. 702        10710        WSD120        8        18x888xx        2013/9/6        12:40
  4. 808        10710        WSP229        8        11111xxx        2013/9/6        4:50
  5. 448        10711        OPH522        7        111x1x11        2013/9/4        17:10
  6. 408        10711        TEW900        9        11x1x111        2013/9/8        10:01
  7. 602        10711        TPT100        9        11111x11        2013/9/6        23:02
  8. 213        10712        WQER39        4        1xx1x1x1        2013/9/6        11:40
  9. 213        10712        WQET39        4        11xxx1x1        2013/9/6        13:40
復(fù)制代碼
  1. [Centos@cctv]$ more 91
  2. 10710        2013/9/6        11:00
  3. 10711        2013/9/7        12:00
  4. 10712        2013/9/7        11:00
復(fù)制代碼
有 90 與91 兩個(gè)文件。
以91文件的$1為鍵,將$2和$3與對(duì)應(yīng)在90里面的文件進(jìn)行比較:
舉例:
10710        2013/9/6        11:00    ;  在90文件中找到對(duì)應(yīng)行,
然后取2013/9/6        11:00 這個(gè)時(shí)間段,取這個(gè)時(shí)間段上下兩行為:
702        10710        WSD120        8        18x888xx        2013/9/6        12:40
808        10710        WSP229         8        11111xxx        2013/9/6        4:50
然后再比較$5的x的個(gè)數(shù)。時(shí)間段前的x在時(shí)間段后的對(duì)應(yīng)列再次出現(xiàn),則記錄。如

如果91里面的時(shí)間在90里面沒有前后時(shí)間段。則用*表示。

期望結(jié)果:
  1. 10710        2013/9/6        11:00 2
  2. 10711        2013/9/7        12:00 0
  3. 10712        2013/9/7        11:00 *
復(fù)制代碼

論壇徽章:
8
技術(shù)圖書徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
2 [報(bào)告]
發(fā)表于 2014-04-08 19:36 |只看該作者
頭痛。。?梢哉f說X的計(jì)算嗎?
10710        2013/9/6        11:00 2
10711        2013/9/7        12:00 0
10712        2013/9/7        11:00 *
不明白為什么是2、0、*
我比較笨,不好意思

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2014-04-08 20:32 |只看該作者
本帖最后由 秋天的絮兒 于 2014-04-08 20:38 編輯

回復(fù) 2# huang6894


    你好,是我比較笨,沒表達(dá)好意思》

舉例:
第一個(gè):10710        2013/9/6        11:00    2   ---> 2是如何獲得的。

1.
  1. 10710        2013/9/6        11:00
復(fù)制代碼
91文件中有10710這一行,取10710這行的第二列和第三列作為基準(zhǔn)時(shí)間:2013/9/6        11:00

2. 在90文件中找到所有10710的行:
  1. 652        10710        WQL100        9        81x11x11        2013/9/7        10:30
  2. 702        10710        WSD120        8        18x888xx        2013/9/6        12:40
  3. 808        10710        WSP229        8        11111xxx        2013/9/6        4:50
復(fù)制代碼
看剛才的基準(zhǔn)時(shí)間“ 2013/9/6        11:00 ”,取這個(gè)時(shí)間點(diǎn)的前后兩行:
  1. 702        10710        WSD120        8        18x888xx        2013/9/6        12:40
  2. 808        10710        WSP229        8        11111xxx        2013/9/6        4:50
復(fù)制代碼
3. 再比較$5,時(shí)間點(diǎn)后的$5與時(shí)間點(diǎn)前的行的$5中的“x"進(jìn)行比較,如果時(shí)間點(diǎn)前的”x"在時(shí)間點(diǎn)后對(duì)應(yīng)位置再次出現(xiàn),則記錄。出現(xiàn)幾個(gè)就記錄幾。
時(shí)間點(diǎn)前的 $5  "11111xxx" 與時(shí)間點(diǎn)后的$5  "18x888xx"  。時(shí)間點(diǎn)前最后兩個(gè)“x”在時(shí)間點(diǎn)前的$5中再次出現(xiàn),則記錄為2

4. 如果91中的時(shí)間點(diǎn)在90文件中對(duì)應(yīng)行沒有時(shí)間點(diǎn)前或時(shí)間點(diǎn)后那行,則用*表示。例:
91文件中第三行:
  1. 10712        2013/9/7        11:00
復(fù)制代碼
對(duì)應(yīng)在90中只有時(shí)間點(diǎn)前,
90文件中對(duì)應(yīng)10712的行如下:
  1. 213        10712        WQER39        4        1xx1x1x1        2013/9/6        11:40
  2. 213        10712        WQET39        4        11xxx1x1        2013/9/6        13:40
復(fù)制代碼
所以沒有辦法比較。就用*表示

希望給予幫助!可以使用腳本來實(shí)現(xiàn)。

論壇徽章:
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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
4 [報(bào)告]
發(fā)表于 2014-04-08 23:36 |只看該作者
  1. $ awk 'function f(x,y){split(x,a,"/");split(y,b,":");return mktime(sprintf("%d %02d %02d %02d %02d %02d",a[1],a[2],a[3],b[1],b[2],0))}function g(z){gsub(/[^x]/,0,z);gsub(/x/,1,z);return z}NR==FNR{c[$2][f($6,$7)]=f($6,$7);d[$2][f($6,$7)]=$5;next}{for(i=0;i++<asort(c[$1]);)if(c[$1][i]>=f($2,$3)&&i!=1){s=g(d[$1][c[$1][i-1]])+g(d[$1][c[$1][i]]);print $0,gsub(/2/,0,s);next}print $0,"*"}' a b
  2. 10710        2013/9/6        11:00 2
  3. 10711        2013/9/7        12:00 0
  4. 10712        2013/9/7        11:00 *
復(fù)制代碼
  1. $ head a b
  2. ==> a <==
  3. 652        10710        WQL100        9        81x11x11        2013/9/7        10:30
  4. 702        10710        WSD120        8        18x888xx        2013/9/6        12:40
  5. 808        10710        WSP229        8        11111xxx        2013/9/6        4:50
  6. 448        10711        OPH522        7        111x1x11        2013/9/4        17:10
  7. 408        10711        TEW900        9        11x1x111        2013/9/8        10:01
  8. 602        10711        TPT100        9        11111x11        2013/9/6        23:02
  9. 213        10712        WQER39        4        1xx1x1x1        2013/9/6        11:40
  10. 213        10712        WQET39        4        11xxx1x1        2013/9/6        13:40

  11. ==> b <==
  12. 10710        2013/9/6        11:00
  13. 10711        2013/9/7        12:00
  14. 10712        2013/9/7        11:00
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2014-04-09 09:03 |只看該作者
本帖最后由 秋天的絮兒 于 2014-04-09 09:04 編輯

回復(fù) 4# yestreenstars


    非常謝謝您給與答復(fù),我不知道用什么語言表達(dá)。

在我調(diào)試過程中出現(xiàn)了下面的錯(cuò)誤
  1. [Centos@cctv]$ awk 'function f(x,y){split(x,a,"/");split(y,b,":");return mktime(sprintf("%d %02d %02d %02d %02d %02d
  2. ",a[1],a[2],a[3],b[1],b[2],0))}function g(z){gsub(/[^x]/,0,z);gsub(/x/,1,z);return z}NR==FNR{c[$2][f($6,$7)]=f($6,$7);d[$2][f
  3. ($6,$7)]=$5;next}{for(i=0;i++<asort(c[$1]);)if(c[$1][i]>=f($2,$3)&&i!=1){s=g(d[$1][c[$1][i-1]])+g(d[$1][c[$1][i]]);print $0,g
  4. sub(/2/,0,s);next}print $0,"*"}' 90 91
  5. awk: function f(x,y){split(x,a,"/");split(y,b,":");return mktime(sprintf("%d %02d %02d %02d %02d %02d",a[1],a[2],a[3],b[1],b[
  6. 2],0))}function g(z){gsub(/[^x]/,0,z);gsub(/x/,1,z);return z}NR==FNR{c[$2][f($6,$7)]=f($6,$7);d[$2][f($6,$7)]=$5;next}{for(i=
  7. 0;i++<asort(c[$1]);)if(c[$1][i]>=f($2,$3)&&i!=1){s=g(d[$1][c[$1][i-1]])+g(d[$1][c[$1][i]]);print $0,gsub(/2/,0,s);next}print
  8. $0,"*"}
  9. awk:
  10.                                                                           ^ syntax error
復(fù)制代碼
  1. [Centos@cctv]$ head 90 91
  2. ==> 90 <==
  3. 652        10710        WQL100        9        81x11x11        2013/9/7        10:30
  4. 702        10710        WSD120        8        18x888xx        2013/9/6        12:40
  5. 808        10710        WSP229        8        11111xxx        2013/9/6        4:50
  6. 448        10711        OPH522        7        111x1x11        2013/9/4        17:10
  7. 408        10711        TEW900        9        11x1x111        2013/9/8        10:01
  8. 602        10711        TPT100        9        11111x11        2013/9/6        23:02
  9. 213        10712        WQER39        4        1xx1x1x1        2013/9/6        11:40
  10. 213        10712        WQET39        4        11xxx1x1        2013/9/6        13:40


  11. ==> 91 <==
  12. 10710        2013/9/6        11:00
  13. 10711        2013/9/7        12:00
  14. 10712        2013/9/7        11:00
復(fù)制代碼

論壇徽章:
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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
6 [報(bào)告]
發(fā)表于 2014-04-09 09:16 |只看該作者
回復(fù) 5# 秋天的絮兒

要用awk4.0以上的版本運(yùn)行。
   

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2014-04-09 09:51 |只看該作者
回復(fù) 6# yestreenstars


    恩,謝謝,我的版本太低。正在下載

論壇徽章:
71
15-16賽季CBA聯(lián)賽之同曦
日期:2018-08-23 15:41:42辰龍
日期:2014-08-15 09:07:43獅子座
日期:2014-06-03 13:55:33亥豬
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午馬
日期:2014-05-04 08:18:27亥豬
日期:2014-04-29 11:11:32技術(shù)圖書徽章
日期:2014-04-24 15:51:26技術(shù)圖書徽章
日期:2014-04-17 11:01:53辰龍
日期:2014-04-15 12:45:46亥豬
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
8 [報(bào)告]
發(fā)表于 2014-04-09 10:25 |只看該作者
回復(fù) 4# yestreenstars

暈寫這么一行,看起來很牛,我覺的不如寫成多行,該縮進(jìn)縮進(jìn),該啥就啥,既美化,又易讀
   

論壇徽章:
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程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
9 [報(bào)告]
發(fā)表于 2014-04-09 10:34 |只看該作者
回復(fù) 8# zhaopingzi

寫成單行主要是方便調(diào)試~
   

論壇徽章:
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
10 [報(bào)告]
發(fā)表于 2014-04-09 10:41 |只看該作者
回復(fù) 9# yestreenstars
是的,從快速回復(fù),幫助別人的角度看,
單行是有不少好處的;
但從代碼易讀、易維護(hù),倡導(dǎo)良好的coding
style看,又是不好的;
取個(gè)適當(dāng)?shù)恼壑芯涂梢粤恕?br />
   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP