Когда я вхожу, vim
я могу изменить размер вкладки с помощью следующей команды:
:set ts=4
Можно ли установить размер вкладки для cat
вывода команды?
cat
indentation
Meysam
источник
источник
expand
(из пакета coreutils) иtabs
(из пакета ncurses), (2). и значение ts - [ T ] ab [ S ] topПросто используйте следующий код:
Где n - количество пробелов, которым вы хотите, чтобы табуляция тоже соответствовала. Чтобы вам не приходилось делать это каждый раз при запуске оболочки, просто отредактируйте
.bash_profile
ин~/
и добавьте эту строку в конец файла.Для получения дополнительной информации о команде вкладок, обратитесь к:
источник
ls
выход может выглядеть неправильно выровненным).Там нет понятия вкладок или вкладок останавливается в
cat
; программа просто направляет входные данные в вывод и обрабатывает вкладки как любой другой символ. Если устройство вывода оказывается терминалом, вкладки будут обрабатываться в соответствии с тем, какое поведение настроено для терминала.Системы, реализующие POSIX.1, имеют вызываемую команду
tabs(1)
, которая корректирует концепцию терминала о том, как должны отображаться вкладки. В зависимости от конкретной компоновки вкладок не считается хорошей идеей, так как кто-то может отправить ваш файл на другое устройство, например принтер, который не будет делать то, что вы хотели.При настройке
ts
вvim
(или простоvi
), все , что вы делаете, регулируя как редактор интерпретирует символы табуляции при отображении. Это не имеет никакого отношения к тому, что заканчивается в файле.источник
Исходя из приведенных выше ответов и примеров, может показаться, что фактическая команда, которую хотел ОП - это ...
cat somefile | expand -t4
Это работает для меня на Red Hat 6.4.
источник
Чтобы раскрыть уже приведенные ответы,
expand
можно также взять список позиций табуляции. Это полезно, если длина содержимого разных столбцов сильно варьируется.Я подошел к этому требованию сегодня, когда хотел сделать вывод
openssl ciphers
более читабельным:Использование только
expand -t31
увеличило бы ширину вывода с примерно 100 символов до более чем 160 символов.источник
column
:openssl ciphers -v 'HIGH' | column -t
Многие терминалы поддерживают настройку переменных табуляции. Те, которые vt100, linux и / или поддерживают стандарт EMCA-48, в большинстве случаев используют linux для поддержки размера вкладки настройки параметров: xterm и семейство (uxterm, urxvt), xfce4-терминал, luit, Terminal, SecureTTY и другие.
Итак, несколько лет назад я написал скрипт для установки моих вкладок при входе в систему через каждые 2 пробела - раньше использовали 4, затем 3 для короткого бита, а теперь на 2 ....
Так что теперь, если я 'кошу' 'файл, вкладки в файле расширятся до настроек моего терминала.
Если я прошел через vim или более, они делают свое собственное расширение вкладок, но многие утилиты используют вкладки.
Включите сценарий здесь для справки и / или личного использования:
Надеюсь, это поможет...
источник
Согласно manpage, кошка не может сделать это самостоятельно. Но вы можете, например, запустить вывод команды cat через
tr
фильтр, чтобы заменить вкладки на любое количество пробелов:заменит символ табуляции двумя пробелами.
Обновление: как указано в комментариях к этому сообщению, это на самом деле не работает. Тем не менее, я держу ответ как пример того, как этого не делать.
источник
'\t'
только одним пробелом, независимо от того, сколько пробелов находится между второй парой цитат' '
tr
не работает таким образом ... каждый байт аргумента 1 заменяется на каждый соответствующий байт аргумента 2 ..... Поэтомуprintf '\t' |tr '\t' 'ळ'
выводится один байт, шестнадцатеричное значение которого\xE0
... которое является первым байтом из трех UTF-8 закодированные байты, составляющие символळ
(значение Unicode CodePoint которого равно U + 0933)