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 join
nach dem Ausführen export LC_ALL=en_US.UTF-8
von oder export LC_ALL=C
.