Как ввести буквенный символ табуляции в оболочке bash?


72

Например, я хотел использовать утилиту сортировки с параметром -t для указания разделителей табуляции, но

sort -t "\t"

не работает

Ответы:


85

Не используйте двойные кавычки.

sort -t $'\t'

Или я думаю, что Ctrl V вставляет вкладку ??

Редактировать:

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


Разве вкладка не вставляет вкладку?
RedGrittyBrick

4
@RedGrittyBrick Tab завершается.
Даниэль Бек

12
Control-V один не будет работать; Control-V + Tab будет. Мне нравится $'...'трюк, хотя; теперь я узнал что-то новое. :-)
L2G

Я всегда учился этому как $' '. Это позволяет вам вводить строку, но также содержит экранированные символы. Двойная кавычка буквально печатает. \tЕсли вы оставите кавычки, вы получите символ табуляции.
Surfasb

59

Попробуйте Control- vтогда Tab. Если вы видите вкладку курсора справа, это сработало.

Согласно комментарию Марка, вы также можете попробовать Control- vи тогда Control- i.


Когда я делаю это, я получаю реальную вкладку (то есть отступ).
Даниэль Бек

2
К сожалению. Вы правы. Но это ввод символа табуляции, а не делать завершение командной строки (что обычно делает баш с язычком). Я попытался sort -t " "(с буквенной вкладкой, как описано выше), и это сработало для меня.
L2G

Да, это то, что я имел в виду под отступом. Не знал лучшего термина.
Даниэль Бек

1
Ctrl-v, Ctrl-i также будет работать (я нашел этот ответ здесь ). Кроме того, я думаю, что Ctrl-q, Ctrl-v, Tab будут работать. Спасибо L2G!
Отметить

Кстати, я хотел бы принять оба ответа, но так как я думаю, что решение surfasb более читабельно, я принял ее. Мне тоже нравится твоя, поэтому проголосовал. Спасибо!
Отметить
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.