Вы когда-нибудь сталкивались с ситуацией, когда нужно было работать с CSV-файлами и выводить результаты в структурированном табличном формате?

Недавно я работал с очисткой данных для файла, который не имеет правильной структуры.

Между каждым столбцом так много пробелов, и мне нужно преобразовать его в формат CSV, чтобы отправить в базу данных.

После очистки и создания вывода в формате CSV мой вывод визуально не привлекателен для проверки целостности данных в файле CSV.

В этот раз мне пригодилась команда «column».

Согласно man-странице, команда выводит «столбцы списков».

Проще говоря,column – это простая утилита, которая может форматировать ваш вывод в формат столбца (строки и поля) на основе структуры исходного файла.

Команда column является частью пакета util-linux.

Здесь важно отметить, что команда column по-разному ведет себя в дистрибутивах на основе Debian и Rhel.

Причина в том, что дистрибутив на основе Debian использует «column» из bsdmainutils вместо util-linux.

Исходная версия команды column новее, чем пакет bsdmainutils.

В демонстрационных целях я использую CentOS 7 и покажу различия в Ubuntu и CentOS 7.
Чтобы проверить версию column, выполните следующую команду.
Эта команда также покажет версию пакета util-linux.
$ column --version  # will not work in Debian/ubuntu
Перед использованием команды column лучше всего начать со страницы руководства и изучить ее параметры.

Список содержимого файла в табличном формате

Команда column может создать таблицу, передав имя файла в качестве аргумента вместе с флагом -t.
В примере использую /etc/passwd в качестве исходного файла.
$ column -t /etc/passwd
$ column -s ":"  -t /etc/passwd
Поделитесь статьей:

Добавить комментарий