Na página de manual do tipo, -t é usado para especificar um separador de campos. Porém, não sei o que o -t$'\t'
formulário significa?
Responder1
Citação ANSI-C do Bash. Se você agrupar uma string como esta $'string'
, ela será expandida com as mesmas regras da string C. No seu caso $'t'
torna-se apenas 't'
, mas se fosse $'\t'
, tornaria-se um caractere de tabulação. Isso é um pouco diferente de usar aspas duplas, porque "string"
as aspas duplas permitem a substituição do bash (por exemplo, expansão de variável)
Responder2
O '$' após a opção -t é usado para especificar um caractere que usa mais de 7 bits para sua representação. Por exemplo, para uma nova linha: '\n', para uma guia '\t'. Se você fizer assim:
sort -t '\t'
Sort provavelmente exibirá um erro dizendo que você está usando muitos caracteres porque tenta ler literalmente o '\' e o 't'.
Assim, no seu exemplo, a barra invertida é omitida.
É o mesmo, por exemplo, com o comando cut:
cut -d$'\t'