我有兩個檔案,file1:
1 I0626_all 0 0 1 1
2 I0627_all 0 0 2 1
3 I1137_all_published 0 0 1 1
4 I1859_all 0 0 2 1
5 I2497_all 0 0 2 1
6 I2731_all 0 0 1 1
7 I4451_all 0 0 1 1
8 I0626 0 0 1 1
9 I0627 0 0 2 1
10 I0944 0 0 2 1
和檔案 2:
I0626_all 1 138
I0627_all 1 139
I1137_all_published 1 364
I4089 1 365
AfontovaGora2.SG 1 377
AfontovaGora3_d 1 378
最后我想要
1 I0626_all 138
2 I0627_all 139
3 I1137_all_published 364
我嘗試使用:
awk 'NR==FNR{a[$1]=$2;next} {b[$3]} {print $1,$2,b[$3]}' file2 file1
但它不起作用。
uj5u.com熱心網友回復:
你可以使用這個awk:
awk 'NR == FNR {map[$1] = $NF; next} $2 in map {print $1, $2, map[$2]}' file2 file1
1 I0626_all 138
2 I0627_all 139
3 I1137_all_published 364
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/449196.html
上一篇:如果在bash中找到字串(來自另一個文本檔案),則洗掉csv檔案中的行
下一篇:Bash腳本-用戶輸入命令
