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

  免費注冊 查看新帖 |

Chinaunix

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

unix下對文件的列值排序比較問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-03-01 09:45 |只看該作者 |倒序瀏覽
大家好:
    現(xiàn)在有這個一樣問題,
原文件內(nèi)容大致如下:
列1             列2       列3             列4
49373        78        29624        63               
49373        76        29624        63               
49373        63        29624        63               
49373        2          29624        63               
49372        31        29624        31               
49372        17        29624        31               
49371        61        29624        54               
49371        54        29624        54               
49371        29        29624        54  
在使用awk函數(shù)解析時:
function test(){
  列1 = values["列1"]
  列2 = values["列2"]
  列3 = values["列3"]
  列4 = values["列4"]
  if(列2==列4){
   列2=0
  }
  #其余列2的值按從小到大從1開始排列
}
我想要的結(jié)果形式如下:
列1             列2     列3             列4
49373        3        29624        63               
49373        2        29624        63               
49373        0        29624        63               
49373        1        29624        63               
49372        0        29624        31               
49372        1        29624        31               
49371        2        29624        54               
49371        0        29624        54               
49371        1        29624        54
取值的原理是這樣的:
在使用awk函數(shù)時:
列1與列3一起確定唯一,               
在同一個列1與列3下,               
如果列2與列4相同,則把列2的值替換成0;
別的列2的值按從小到大從1開始排;         

請問如何實現(xiàn)這個函數(shù)?

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
2 [報告]
發(fā)表于 2010-03-01 09:54 |只看該作者
這個描述也太難理解了。

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
3 [報告]
發(fā)表于 2010-03-01 10:05 |只看該作者
列1與列3唯一確定列4?

論壇徽章:
0
4 [報告]
發(fā)表于 2010-03-01 10:10 |只看該作者
回復(fù) 2# blackold


    拿例子來說
當取的 列1=49373 的時候,此時它有4行數(shù)據(jù)
列2的值為78,76,63,2;
列4的值為63,63,63,63;
也就是列4的值表示的是在列2中的一個主值
此是63即為主值,主值的結(jié)果是0
在列2中,其他3個為從值
這3個從值從小到大排序,
78-->3
76-->2
63-->0
2  -->1
===========================
當列1的值為49372等等,同理

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
5 [報告]
發(fā)表于 2010-03-01 10:15 |只看該作者
回復(fù) 4# amoshaochen


    意思我看明白了,不用再說明,我是說你沒有描述清楚,讓別人很難理解。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-03-01 10:24 |只看該作者
回復(fù) 5# blackold


    嘿嘿,希望現(xiàn)在能清晰了吧

論壇徽章:
0
7 [報告]
發(fā)表于 2010-03-01 11:26 |只看該作者
有兄弟能幫忙解決這個問題嗎{:2_170:}

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
8 [報告]
發(fā)表于 2010-03-01 11:33 |只看該作者
排序就可以了。

論壇徽章:
0
9 [報告]
發(fā)表于 2010-03-01 11:39 |只看該作者
回復(fù) 8# blackold


    具體如何實現(xiàn)呢?
   if ( (FILENAME ~ / test.csv/) ){
        testFun();
    }
     
    function test(){
       列1 = values["列1"]
       列2 = values["列2"]
       列3 = values["列3"]
       列4 = values["列4"]
       if(列2==列4){
          列2=0
       }
       #其余列2的值按從小到大從1開始排列
   }

這個函數(shù)要如何寫?

論壇徽章:
0
10 [報告]
發(fā)表于 2010-03-01 11:40 |只看該作者
終于看懂題了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(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