-t \t
passa t
como o separador: uma barra invertida sem aspas sempre pega o próximo caractere literalmente (exceto quando o próximo caractere é uma nova linha). -t "\t"
passa \t
como o separador, diferentes versões de join
podem se comportar de maneira diferente quando você passa vários caracteres.
Para passar uma tabulação do bash, use -t $'\t'
. A sintaxe $'…'
imita o recurso de C e muitos outros idiomas em que \
seguido por letras designam caracteres de controle e \
pode ser seguido por dígitos octais.
Outra maneira é colocar uma guia literal no seu script (entre aspas simples ou duplas). Isso não é muito legível.
Se você precisar de portabilidade para todos os shells POSIX, como dash
, use
tab=$(printf '\t')
join -t "$tab" …
ou diretamente join -t "$(printf '\t')" …
.