o que esse comando de classificação significa? gato temp.txt | classificar -t$'\t'

o que esse comando de classificação significa? gato temp.txt | classificar -t$'\t'

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' 

informação relacionada