mam dwa pliki, gdzie chcę wykonać operacji Unii na podstawie 1 kolumna:Dopełnienie pustym polu w Unix Dołącz Operation
plik1.txt
foo 1
bar 2
qux 3
file2.txt
foo x
qux y
boo z
Wynik, który mam nadzieję uzyskać, jest następujący:
foo 1 x
bar 2 -
qux 3 y
boo - z
gdzie puste pola w kolumnie 1 są wypełnione z "-".
Ale dlaczego to polecenie łączenia nie działa tak, jak się spodziewałem?
$ join -a1 -a2 -e"-" file1.txt file2.txt
Co to jest właściwy sposób?
@Alex: dzięki tak dużo. Nie rozumiem opcji "-o" 1.1,2.1,1.2,2.2 "". Gdzie mogę znaleźć informacje na ten temat? A jeśli nie masz nic przeciwko awk? – neversaint
Edytowałem odpowiedź, aby wyjaśnić -o, ale spójrz na 'man awk': tak jak ja, aby sprawdzić moje wyjaśnienie, przypomniano mi o wartości 0 dla numeru pola, które teraz użyłem w edytowany przykład i sprawia, że przetwarzanie końcowe jest niepotrzebne. Ale pamiętaj, aby wcześniej posortować pliki! -) –
@Alex, dzięki milionowi. – neversaint