Иногда, я получаю как разделенный вкладкой список, который не совсем выровнен, например
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
Есть ли простой способ сделать их выровненными?
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
command-line
text-processing
csv
tabulation
Элазар Лейбович
источник
источник
column -t
?columns -t
действующий в общем пробеле. Для работы только с вкладками используйтеcolumn -t -s $'\t'
Ответы:
Итак, ответ становится:
Обратите внимание, что это разделяет столбцы в любом пустом месте, а не только на вкладках. Если вы хотите разделить только на вкладки, используйте:
В
-s $'\t'
наборах разделитель вкладок только и-n
сохраняет пустые столбцы (соседние вкладки).PS: Просто хочу отметить, что заслуга также принадлежит Алексу . Первоначальная подсказка была предоставлена им в качестве комментария к вопросу, но не была опубликована в качестве ответа.
источник
column
:)column
кажется, что терпит неудачу, когда сталкивается с пустыми клетками. Смотрите этот пост . В зависимости от того, какая уcolumn
вас версия , вы можете указать-n
возможность исправить это.column -t -s $'\t'
.Вот скрипт для этого:
aligntabs.pl
использование
источник
pr
иnl
являются двумя основными инструментами для форматирования, и после этогоawk
,sed
,perl
и т.д.column
column -t -s $'\t'
кажется, делает работу.Для ручного табуляции:
expand -t 42,48
Для автоматической остановки табуляции, как предложено alex :
column -t
(
expand
имеется во всех системах POSIX.column
Это утилита BSD, также доступная во многих дистрибутивах Linux.)источник
Следуя комментарию Peter.O, который я хотел выровнять (данные с разделителями табуляции, TSV), эта фраза работает очень хорошо:
источник
Объяснение:
Sed добавит пробел между пустыми разделителями
Столбец добавит одинаковое расстояние между столбцами
становится
Меньше откроет вывод в просмотрщике файлов. -N и -S добавят номер строки и отключат перенос соответственно
источник
С Миллером ( http://johnkerl.org/miller/doc ) у вас есть хороший вывод на печать.
Бег
иметь
источник