Команда Unix join не работает для всех записей во входных файлах - PullRequest
0 голосов
/ 18 октября 2019

У меня есть 2 входных файла

file1:

20191002;XS2031643435;106.802239
20191003;XS2031642890;99.997178

file2:

  ;XS2031643435;210074;CLNPRU200123AUD;AUD_CORP;
  ;XS2031642890;210068;CLNMAS011119SGD;SGD_CORP;

Сейчас япытаясь объединить содержимое этого файла, используя следующую команду:

join -1 2 -2 2 -t';' -o 1.1,2.5,2.4,1.3 file1 file2

Что дает мне вывод:

20191002;AUD_CORP;CLNPRU200123AUD;106.802239

Есть идеи, почему отсутствует вторая строка?

Я ожидаю, что это будет примерно так:

20191002;AUD_CORP;CLNPRU200123AUD;106.802239
20191003;SGD_CORP;CLNMAS011119SGD;99.997178

На самом деле это часть 2 больших входных файлов (~ 150 записей), в которых большинство пар объединяются, как и ожидалось, за исключением двух записей. поэтому я выбрал эти 2 записи и создал образцы файлов, как указано выше. Теперь первый начал прибывать, но еще не второй. любая помощь будет очень признательна.

правки:

bash-4.4$ od -b file1
0000000 062 060 061 071 061 060 060 062 073 130 123 062 060 063 061 066
0000020 064 063 064 063 065 073 061 060 066 056 070 060 062 062 063 071
0000040 012 062 060 061 071 061 060 060 063 073 130 123 062 060 063 061
0000060 066 064 062 070 071 060 073 071 071 056 071 071 067 061 067 070
0000100 012
0000101


od -b file2
0000000 073 130 123 062 060 063 061 066 064 063 064 063 065 073 062 061
0000020 060 060 067 064 073 103 114 116 120 122 125 062 060 060 061 062
0000040 063 101 125 104 073 101 125 104 137 103 117 122 120 073 012 073
0000060 130 123 062 060 063 061 066 064 062 070 071 060 073 062 061 060
0000100 060 066 070 073 103 114 116 115 101 123 060 061 061 061 061 071
0000120 123 107 104 073 123 107 104 137 103 117 122 120 073 012
0000136

Я не знаю много об этом hexdump, но если он поможет вам ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...