En la página de manual de sort, -t se usa para especificar un separador de campo. Sin embargo, no sé qué -t$'\t'
significa el formulario.
Respuesta1
Bash cotización ANSI-C. Si envuelve una cadena como esta $'string'
, se expande con las mismas reglas que la cadena C. En su caso, $'t'
se vuelve justo 't'
, pero si lo fuera $'\t'
, se convertiría en un carácter de tabulación. Esto es un poco diferente a usar comillas dobles, ya "string"
que las comillas dobles permiten la sustitución de bash (por ejemplo, expansión de variables)
Respuesta2
El '$' después de la opción -t se usa para especificar un carácter que usa más de 7 bits para su representación. Por ejemplo, para una nueva línea: '\n', para una pestaña '\t'. Si lo haces así:
sort -t '\t'
Ordenar probablemente le mostrará un error diciendo que está usando demasiados caracteres porque intenta leer literalmente '\' y 't'.
Por lo tanto, en su ejemplo, se omite la barra invertida.
Es lo mismo, por ejemplo, con el comando cortar:
cut -d$'\t'