Иногда при работе с командной строкой в Linux вам может понадобиться отобразить содержимое файла в столбчатом формате. К счастью, в Linux есть команда Column, которая позволяет отобразить содержимое файла в формате columnar. Это очень простая и удобная в использовании утилита командной строки.
Эта утилита командной строки преобразует входной файл в несколько колонок, и вы можете преобразовать содержимое в колонки на основе любого разделителя. Команда Column заполняет строки перед столбцами.
Сегодня мы рассмотрим основы команды Column и то, как ее можно использовать для форматирования содержимого.
Синтаксис команды Column
Общий синтаксис команды column следующий:
1 | column [параметры] [имя файла] |
В параметре [параметры] можно указать следующие параметры:
- -s задает символ-разделитель.
- -c вывод форматируется на основе общего количества символов, допустимых в одной строке.
- -t создать таблицу, по умолчанию в качестве разделителя используются пробелы или символ, указанный в опции -s.
- -x по умолчанию строки заполняются раньше столбцов, но с помощью этого параметра вы можете заполнить столбцы до заполнения строк
- -n по умолчанию несколько разделителей объединяются как один разделитель. Вы можете отключить это поведение с помощью параметра -n.
- -e по умолчанию пустые строки игнорируются. Вы можете отключить это поведение с помощью параметра -e.
Использование команды Column
Например, я создал тестовый файл с именем "test", содержимое которого показано на рисунке ниже. Обратите внимание, что вы можете просмотреть содержимое файла, не открывая его, с помощью команды cat в Терминале.
Запустите Терминал, нажав Ctrl+Alt+T, и введите:
1 | cat [имя файла] |
Мой тестовый файл выглядит следующим образом:
Чтобы увидеть, что на самом деле делает команда column, введите column, а затем имя файла:
1 | column [filename] |
Введя приведенную выше команду, вы увидите, что эта команда преобразовала содержимое файла в колонки.
Это было самое простое объяснение команды Column. Теперь мы рассмотрим еще несколько вариантов использования этой команды.
Использование пользовательского разделителя
В команде Column можно использовать пользовательский разделитель, который будет указывать, когда нужно разделить содержимое на новые колонки.
Я использую тестовый файл, который содержит содержимое, как показано на рисунке ниже. Он содержит данные, разделенные запятыми.
Используйте параметр -t для отображения содержимого в табличном формате. По умолчанию в качестве разделителя используется пробел.
Чтобы разделить содержимое на основе определенного разделителя, используйте параметр -s, за которым следует определенный разделитель или разделитель, как показано в приведенном ниже синтаксисе команды:
1 | column -t [-s разделитель] [имя файла] |
Добавление нескольких разделителей с помощью параметра -n
По умолчанию команда column объединяет несколько смежных разделителей в один разделитель. Например, у нас есть образец файла, который содержит содержимое с несколькими смежными разделителями, как показано на рисунке ниже.
Команда column будет рассматривать несколько разделителей как один и выведет результат, как показано ниже.
Добавление опции -n отключит это поведение. Выполните команду в следующем синтаксисе:
1 | column [-n] [-t] [-s separator] [filename] |
Вы заметите пробел между первыми двумя колонками, что означает, что команда не объединила соседние разделители в один.
Добавление пустых строк с помощью параметра -e
По умолчанию команда column игнорирует пустые строки. Если вы хотите включить пустые строки в свои колонки, используйте параметр -e.
Например, у меня есть следующий образец файла, в котором есть несколько пустых строк.
Я использовал команду column, но вы можете видеть, что команда column не включила пустые строки.
Чтобы разрешить команде column включить эти пустые строки в вывод, используйте команду в следующем синтаксисе:
1 | column [-e] [-t] [-s separator] [filename] |
Вы заметите, что пустые строки теперь включены в вывод команды column.
Изменение ширины дисплея с помощью параметра -c
Вы можете растянуть ширину отображения вывода команды. Укажите ширину строки с помощью параметра -c в команде column. В этом примере у меня есть файл с именем "xyz", содержащий некоторое содержимое, как показано ниже.
При использовании только команды column вывод будет выглядеть следующим образом:
Чтобы изменить ширину экрана, введите команду, за которой следует параметр -c. Чтобы уменьшить ширину отображения, я ввел команду в следующем синтаксисе:
1 | column [-c characters] [filename] |
Для увеличения ширины дисплея я ввел команду, как показано на рисунке ниже:
Использование параметра -c для определения ширины
Сохранение отформатированного вывода
Чтобы сохранить отформатированный вывод, который вы сделали с помощью команды Column, вы можете использовать следующую команду в Terminal. Синтаксис команды будет следующим:
1 | column [параметры] [имя файла1] > имя файла2 |
На этом пока все. Вы убедились, что с помощью базовых, но полезных примеров команды column, описанных в этой статье, вы можете полностью освоить команду и использовать ее для форматирования содержимого, которое в противном случае вам придется делать вручную.