Команда оболочки "Присоединиться" не работает

Я объединяю два очень простых отсортированных файла, но по какой-то странной причине это не работает. f1.txt:

f1 abc
f2 mno
f3 pqr

f2.txt:

abc a1
mno a2
pqr a3

Команда:

join -t '\t' f1.txt f2.txt -1 2 -2 1 > f3.txt

К вашему сведению в файлах f1,f2 пробел является вкладкой. Но это производит пустой f3.txt. Почему это происходит? Это такой простой пример присоединения, верно?

1 ответ

Решение

Ваш \t не интерпретируется как символ табуляции. Для этого вы можете / должны использовать строку ANSI, чтобы ваша команда стала

join -t $'\t' f1.txt f2.txt -1 2 -2 1 > f3.txt

с $ перед '\t' поэтому он будет интерпретироваться как вкладка, как вы хотите.

Удобный ресурс для цитирования вещей с bash по крайней мере, доступно здесь

Другие вопросы по тегам