我有两份文件
文件A
MUREX_2089975 :SBE Zinc Non-Option 118510 metals USD -308410
MUREX_2097300 :SBE Zinc Non-Option 118510 metals USD 7751
MUREX_2097474 :SBE Zinc Non-Option 118510 metals USD -140062
MUREX_2097928 :SBE Zinc Non-Option 118510 metals USD 46504
MUREX_2099168 :SBE Zinc Non-Option 118510 metals USD 38906
MUREX_2102690 :SBE Zinc Non-Option 118510 metals USD -139992
MUREX_2106241
MUREX_2106570
MUREX_2106577
MUREX_2107869
MUREX_748219 :SBE Zinc Non-Option 118510 metals USD 7743
MUREX_777665 :SBE Zinc Non-Option 118510 metals USD 7750
MUREX_778819 :SBE Zinc Non-Option 118510 metals USD 7743档案B
MUREX_2089975 :SBE Zinc Non-Option 118510 metals USD -296889
MUREX_2097300 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_2097474
MUREX_2097928 :SBE Zinc Non-Option 118510 metals USD 44699
MUREX_2099168
MUREX_2102690 :SBE Zinc Non-Option 118510 metals USD -134474
MUREX_2106241 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_2106570 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2106577 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2107869 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_748219 :SBE Zinc Non-Option 118510 metals USD 7444
MUREX_777665 :SBE Zinc Non-Option 118510 metals USD 7453
MUREX_778819 :SBE Zinc Non-Option 118510 metals USD 7444我正在使用的代码:
join -t, -j 1 -a 1 -a 2 -o auto FileA FileB我想要的基本上是比较第6栏从每个文件,而充分填写第1栏至第5栏。
预期结果
MUREX_2089975 :SBE Zinc Non-Option 118510 metals USD -308410 -296889
MUREX_2097300 :SBE Zinc Non-Option 118510 metals USD 7751 7450
MUREX_2097474 :SBE Zinc Non-Option 118510 metals USD -140062
MUREX_2097928 :SBE Zinc Non-Option 118510 metals USD 46504 44699
MUREX_2099168 :SBE Zinc Non-Option 118510 metals USD 38906
MUREX_2102690 :SBE Zinc Non-Option 118510 metals USD -139992 -134474
MUREX_2106241 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_2106570 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2106577 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2107869 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_748219 :SBE Zinc Non-Option 118510 metals USD 7743 7444
MUREX_777665 :SBE Zinc Non-Option 118510 metals USD 7750 7453
MUREX_778819 :SBE Zinc Non-Option 118510 metals USD 7743 7444实际结果
MUREX_2089975 :SBE Zinc Non-Option 118510 metals USD -308410 :SBE Zinc Non-Option 118510 metals USD -296889
MUREX_2097300 :SBE Zinc Non-Option 118510 metals USD 7751 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_2097474 :SBE Zinc Non-Option 118510 metals USD -140062
MUREX_2097928 :SBE Zinc Non-Option 118510 metals USD 46504 :SBE Zinc Non-Option 118510 metals USD 44699
MUREX_2099168 :SBE Zinc Non-Option 118510 metals USD 38906
MUREX_2102690 :SBE Zinc Non-Option 118510 metals USD -139992 :SBE Zinc Non-Option 118510 metals USD -134474
MUREX_2106241 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_2106570 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2106577 :SBE Zinc Non-Option 118510 metals USD -14942
MUREX_2107869 :SBE Zinc Non-Option 118510 metals USD 7450
MUREX_748219 :SBE Zinc Non-Option 118510 metals USD 7743 :SBE Zinc Non-Option 118510 metals USD 7444
MUREX_777665 :SBE Zinc Non-Option 118510 metals USD 7750 :SBE Zinc Non-Option 118510 metals USD 7453
MUREX_778819 :SBE Zinc Non-Option 118510 metals USD 7743 :SBE Zinc Non-Option 118510 metals USD 7444edit1:数据实际样子的一个例子:
MUREX_990422,:SBE Zinc Non-Option,118510,metals,USD,15501发布于 2016-11-17 22:59:35
我不认为直接通过加入就能做到这一点。您可以做的是首先提取一个包含所有键和列1-5的文件,作为每一行的开始。然后,您可以使用join将这两个数字放在末尾。
实际上,只包含join字段的行是什么样子的?它只是字段,还是后面带有逗号的字段?在前一种情况下,你可以这样做
awk -F , 'NF > 1 {print}' fileA fileB | cut -d, -f1-5 | sort -u | \
join -t, -o 0,1.2,1.3,1.4,1.5,2.6 - fileA | \
join -t, -o 0,1.2,1.3,1.4,1.5,1.6,2.6 - fileBhttps://unix.stackexchange.com/questions/324117
复制相似问题