Як ввести буквальний символ вкладки в оболонці 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 завершується.
Даніель Бек

12
Один лише Control-V не працюватиме; Вкладка Control-V + буде. Мені подобається $'...'трюк; тепер я дізнався щось нове. :-)
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.