У меня проблема при объединении двух файлов с помощью команды ubuntu 'join'. Это беспокоило меня целую неделю. На самом деле я часто использую эту команду для редактирования файлов и впервые столкнулся с этой проблемой. У меня есть два файла, которые выглядят так (например, здесь разделены пробелами):
file1
A A A
B B B
...
file2
A D D
B E E
...
Файлы имеют 20+ столбцов, сотни строки (набор символов utf-8, табуляция разделена). Я использую команду join для объединения двух файлов на основе первого столбца. Результат должен быть таким:
A A A D D
B B B E E
Но я получил следующее:
A A A
D D
B B B
E E
Я попытался вывести два файла, затем объединить их с помощью команды «вставить» и получил те же результаты. Кроме того, я не видел символа новой строки в начале / конце каждой строки. Пробовал sed -i 's/\n\t/\t/g' file
. Не работает. Они по-прежнему не отображаются в одной строке! Вы, ребята, раньше встречались с его проблемой? в чем может быть причина?
моя команда выглядит так:
join -1 3 -2 1 -o 1.1,1.2,1.3,1.4,2.2,2.3,2.4 -t $'\t' <(sort -k3,3 file1) <(sort -k1,1 file2)
paste -d"\t" file1 file2