¿Cómo ingreso un carácter de tabulación literal en un shell bash?


72

Por ejemplo, quería usar la utilidad de clasificación con la opción -t para especificar separadores de pestañas, pero

sort -t "\t"

no funciona

Respuestas:


85

No uses comillas dobles.

sort -t $'\t'

¿O creo que Ctrl V inserta una pestaña?

Editar:

http://www.gnu.org/s/bash/manual/html_node/ANSI_002dC-Quoting.html#ANSI_002dC-Quoting


¿La pestaña no inserta una pestaña?
RedGrittyBrick

44
La pestaña @RedGrittyBrick se completa.
Daniel Beck

12
Control-V solo no funcionará; Control-V + Tab lo hará. Sin $'...'embargo, me gusta el truco; Ahora he aprendido algo nuevo. :-)
L2G

Siempre lo aprendí como $' '. Le permite ingresar una cadena, pero también tiene caracteres escapados. Las \tcomillas dobles literalmente se imprimen Si deja de lado las comillas, obtendrá un carácter de tabulación.
Surfasb

59

Trate Control- v, entonces Tab. Si ve la pestaña del cursor a la derecha, funcionó.

De acuerdo con el comentario de Mark también puede intentar Control- vy Control- i.


Cuando hago esto, obtengo una pestaña real (es decir, sangría).
Daniel Beck

2
Ups Tienes razón. Pero está ingresando el carácter de tabulación, no completando la línea de comandos (que es lo que bash normalmente hace con una tabulación). Lo intenté sort -t " "(con la pestaña literal como se describió anteriormente) y funcionó para mí.
L2G

Sí, eso es lo que quise decir con sangría. No conocía un mejor término.
Daniel Beck

1
Ctrl-v, Ctrl-i también funcionarán (encontré esta respuesta aquí ). Además, creo que un Ctrl-q, Ctrl-v, Tab funcionará. Gracias L2G!
Mark

Por cierto, me encantaría aceptar ambas respuestas, pero como creo que la solución de surfasb es más legible, acepté la suya. Sin embargo, también me gusta el tuyo, así que lo voté. ¡Gracias!
Mark
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.