
ファイルが2つあります。
ファイル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 7444
edit1:データが実際にどのように見えるかについての例:
MUREX_990422,:SBE Zinc Non-Option,118510,metals,USD,15501
答え1
直接できないと思います。参加する。あなたができることは、最初にすべてのキーと列1〜5を含むファイルを抽出して各行の先頭に使用することです。その後利用できます参加する両方の数字を最後に入れてください。
結合フィールドのみを含む行は実際にどのようなものですか?それはフィールドですか、それとも後ろにカンマがあるフィールドですか?前者の場合はできます
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 - fileB