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

Chinaunix

標(biāo)題: 再次求教,關(guān)于多個(gè)文件通過(guò)某1列進(jìn)行關(guān)聯(lián),關(guān)聯(lián)列是亂序且又重復(fù) [打印本頁(yè)]

作者: shiryuyl    時(shí)間: 2015-02-05 14:44
標(biāo)題: 再次求教,關(guān)于多個(gè)文件通過(guò)某1列進(jìn)行關(guān)聯(lián),關(guān)聯(lián)列是亂序且又重復(fù)
本帖最后由 shiryuyl 于 2015-02-05 15:31 編輯

文件1:
a
e
c
b
d
文件2:
x,b,40,q
y,a,20,w
z,c,25,e
w,a,10,s
r,c,23,u
希望最后得到的數(shù)據(jù)是:
a,20,y,w
e,空,空,空
c,25,z,e
b,40,x,q
d,空,空,空

請(qǐng)注意,最后的順序是按照文件1的順序,是亂序的,不可以進(jìn)行排序.總數(shù)據(jù)量會(huì)有十幾萬(wàn),因此我用for循環(huán)寫(xiě)效率太低,用join寫(xiě)順序沒(méi)法與文件1相同.求教應(yīng)該如何寫(xiě),在文件2第二列有部分重復(fù)的,但是我第一個(gè)匹配到的即可,后面的都不要.例如2個(gè)a列,只要第一個(gè)
作者: ly5066113    時(shí)間: 2015-02-05 15:16
回復(fù) 1# shiryuyl


try:
  1. awk 'NR==FNR{if(!($2 in a))a[$2]=$3" "$4" "$1;next}{print $1,a[$1]}' file2 file1
復(fù)制代碼

作者: zxy877298415    時(shí)間: 2015-02-05 16:00
  1. awk -F, 'FNR==NR{if(!a[$2])a[$2]=$3" "$1" "$4;next}{print $1,a[$1]}' file2 file1
  2. a 20 y w
  3. e
  4. c 25 z e
  5. b 40 x q
  6. d
復(fù)制代碼
回復(fù) 1# shiryuyl


   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2