Join wird nicht ordnungsgemäß verbunden

Join wird nicht ordnungsgemäß verbunden

Ich versuche, die beiden folgenden Dateien zusammenzufügen:

DateiA.txt:

ABCA1   0   2
ABCA4   3   12
ABCB11  0   4
ABCB4   0   3
ABCC6   0   3
ABCC8   4   33

DateiB.txt

ABCA4   2
ABCB11  1

Wo es in der zweiten Datei keine Übereinstimmung gibt, möchte ich eine 0 ausgeben. Ich habe diesen Join-Befehl ausprobiert:

join -a 1 -a 2 -e '0' -o 0,1.2,1.3,2.2 FileA.txt FileB.txt

Dies gibt jedoch für alle Einträge in der neuen 3. Spalte Nullen aus. Und zwar:

ABCA1 0 2 0
ABCA4 3 12 0
ABCB11 0 4 0
ABCB4 0 3 0
ABCC6 0 3 0

Ich habe eine Version dieses Befehls verwendet, um meine FileA.txt zu generieren. Ich bin mir nicht sicher, warum es nicht funktioniert, eine dritte Spalte hinzuzufügen. Irgendwelche Hilfe?

Antwort1

Das Verhalten von joinändert sich, wenn lokale Umgebungsvariablen festgelegt werden. Versuchen Sie es joinnach dem Ausführen export LC_ALL=en_US.UTF-8von oder export LC_ALL=C.

verwandte Informationen