У меня есть текстовый файл с разделителями табуляции, который я отправляю в column
, чтобы «красиво распечатать» таблицу.Цветные коды возврата в довольно печатных столбцах
Исходный файл:
1<TAB>blablablabla<TAB>aaaa bbb ccc
2<TAB>blabla<TAB>xxxxxx
34<TAB>okokokok<TAB>zzz yyy
Используя column -s$'\t' -t <original file>
, я получаю
1 blablablabla aaaa bbb xxx
2 blabla xxxxxx
34 okokokok zzz yyy
по желанию. Теперь я хочу добавить цвета в столбцы. Я попытался добавить escape-коды вокруг каждого поля с разделителями табуляции в исходном файле. column
успешно печатает в цвете, но столбцы больше не выровнены. Вместо этого он просто печатает разделители TAB дословно.
Вопрос в следующем: как я могу получить выравнивание столбцов, но и с уникальными цветами?
Я думал о двух способов для достижения этой цели:
- Отрегулируйте
column
параметры, чтобы сделать работу выравнивания с цветовыми кодами - Перенаправление вывода столбца в другой файл, и сделать поиск + заменить на первых двух пробельных разделителями полей (первые два столбца гарантированно не содержать пробелы, а третий столбец, скорее всего, будет содержать пробелы, но не TAB символов)
Проблема в том, что я не знаю, как сделать что-либо из этих двух ...
Для справки, вот что я передаю в column
:
Обратите внимание, что поля действительно разделенных символами TAB. Я подтвердил это с помощью od
.
редактировать:
Там, кажется, не является проблемой с расцвечивания. У меня уже есть файл, показанный выше, с работающими цветовыми кодами. Вопрос: column
не будет выравниваться, как только я отправлю его с помощью эвакуационных кодов. Я подумываю передать поля без цветовых кодов в column
, а затем копировать точное количество пробелов column
, выводимое между каждым полем, и использовать это в красивой схеме печати.
Я попытался это, используя только «колонки -t my_file» и не вижу никаких проблем с выравниванием. –
Если в FIELD3 есть пробелы, это не сработает, если вы не укажете другой разделитель. Тем не менее, мой не выравнивает первые два столбца, хотя они не содержат пробелов. Вот результаты 'column -t my_file': http://i.imgur.com/w6i1aGn.png –
Приходите на сегодня. Завтра будет больше копаться. Должно быть решение. (Вы могли бы использовать еще один * могучий язык, например, python или perl, конечно. Но awk + столбец должен работать .. не знаю почему) – hek2mgl