O comando da shell 'Join' não está funcionando

2

Estou juntando dois arquivos classificados muito simples, mas por alguma estranha razão não está funcionando. f1.txt:

f1 abc
f2 mno
f3 pqr

f2.txt:

abc a1
mno a2
pqr a3

Comando:

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

FYI nos arquivos f1, f2, o espaço é uma guia. Mas isso está produzindo um f3.txt em branco. Por que isso está acontecendo? Este é um exemplo tão simples de se juntar à direita?

    
por Shabhri Naresh 15.09.2016 / 12:51

1 resposta

1

Seu \t não está sendo interpretado como um caractere de tabulação. Para fazer isso, você poderia / deveria usar uma string ANSI para que seu comando se tornasse

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

com o $ antes do '\t' , por isso ele será interpretado como uma guia como você deseja.

Um recurso útil para citar coisas com bash está disponível aqui

    
por 15.09.2016 / 14:20