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

Chinaunix

標題: 關于多個文件通過某1列進行關聯(lián),關聯(lián)列是亂序 [打印本頁]

作者: shiryuyl    時間: 2015-02-05 11:11
標題: 關于多個文件通過某1列進行關聯(lián),關聯(lián)列是亂序
文件1:
a
e
c
b
d
文件2:
x b 40
y a 20
z c 25
希望最后得到的數(shù)據(jù)是:
a 20 y
e 空 空
c 25 z
b 40 x
d 空 空

請注意,最后的順序是按照文件1的順序,是亂序的,不可以進行排序.總數(shù)據(jù)量會有十幾萬,因此我用for循環(huán)寫效率太低,用join寫順序沒法與文件1相同.求教應該如何寫?
作者: HH106    時間: 2015-02-05 11:53
  1. awk 'NR==FNR{a[$2]=$3" "$1}NR>FNR{print $0,a[$0]?a[$0]:"空 空"} file2 file1
復制代碼

作者: jason680    時間: 2015-02-05 12:00
回復 1# shiryuyl

$ awk 'FNR==NR{a[$2]=$1" "$3;next}{print $1,a[$1]}' f2 f1
a y 20
e
c z 25
b x 40
d

$ awk 'FNR==NR{a[$2]=$1" "$3;next}{print $1,a[$1]?a[$1]:"空 空"}' f2 f1
a y 20
e 空 空
c z 25
b x 40
d 空 空

   
作者: 圣西羅門柱    時間: 2015-02-05 12:46
  1. awk 'NR==FNR{a[$2]=$3FS$1;next}NR>FNR{if($1 in a)print $1 FS a[$1];else print $1"     "}' b.txt a.txt
復制代碼

作者: shiryuyl    時間: 2015-02-05 14:33
本帖最后由 shiryuyl 于 2015-02-05 14:33 編輯

2樓,3樓正解,感謝啊..但是能不能幫忙解釋一下啊.我這邊的字段更多,不會太會改啊.




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