Отображение содержимого файла в формате столбца в Linux

Отобразите файл с разделителями в терминале Linux, чтобы каждый элемент с разделителями отображался в своем собственном столбце. Например, вот пример таблицы футбольной премьер-лиги Англии, в которой в качестве разделителей используются трубы.

пос | команда | PLD | баллы
1 | Leicester | 31 | 66
2 | Tottenham | 31 | 61
3 | арсенал | 30 | 55
4 | Манчестер Сити | 30 | 51
5 | западная ветчина | 30 | 50
6 | Манчестер Юнайтед | 30 | 50
7 | Southampton | 31 | 47
8 | Сток Сити | 31 | 46
9 | ливерпуль | 29 | 44
10 | Челси | 30 | 41

В этот список входят 10 лучших команд, их названия, количество игр, в которых они играли, и набранные очки.

Несколько команд Linux отображают данные в командной строке. Например, команда cat отображает файл в точности так, как он отображается в файле. Команда tail показывает часть файла или все, как и команда head. Однако ни одна из этих команд не отображает вывод таким образом, чтобы он выглядел хорошо.

В идеале вы хотите, чтобы данные были видны без символа канала и разнесены. Вот где приходит команда column.

Основное использование команды Column

Вы можете запустить команду столбца без каких-либо параметров следующим образом:

колонка

Это лучше всего работает с файлами слов с пробелами между словами. Это не работает так же хорошо с табличными данными, как в этом примере таблицы лиги.

Вывод следующий:

pos | team | pld | pts 2 | tottenham | 31 | 61 4 | man city | 30 | 51 6 | man utd | 30 | 50 8 | Сток Сити | 31 | 46 10 | Челси | 30 | 41 1 | Лестер | 31 | 66 3 | Арсенал | 30 | 55 5 | Вест Хэм | 30 | 50 7 | Саутгемптон | 31 | 47 9 | Ливерпуль | 29 | 44

Указание ширины столбца

Если вы знаете ширину столбцов, вы можете использовать следующую команду для разделения столбцов по ширине:

столбец -c

Например, если вы знаете, что ширина каждого столбца составляет 20 символов, вы можете использовать следующую команду:

столбец -c20

В случае таблицы лиги это не работает хорошо, если все столбцы определенной ширины. Чтобы доказать это, измените файл таблицы лиги следующим образом:

команда pos pld pts
1 лестер 31 66
2 Тоттенхэм 31 61
3 арсенал 30 55
4 человек город 30 51
5 Вест Хэм 30 50
6 человек Юнайтед 30 50
7 часов 31 47
8 сток 31 46
9 ливерпуль 29 44
10 челси 30 41

Теперь с помощью следующей команды вы можете получить приличный вывод:

колонка -c10 лига

Проблема заключается в том, что данные в файле уже выглядят хорошо, поэтому команды tail, head, nano или cat могут отображать одну и ту же информацию приемлемым способом.

Указание разделителей с помощью команды Column

Лучший способ использовать команду столбца для файлов с запятой, канала или других файлов с разделителями заключается в следующем:

столбец -s "|" -t

Ключ -s позволяет определить используемый разделитель. Например, если ваш файл разделен запятыми, вы можете поставить «,» после -s. Ключ -t отображает данные в табличном формате.

вывод колонки linux

Выходные разделители

До сих пор этот пример показал, как работать с разделителем входного файла, но как быть с данными, когда они отображаются на экране?

По умолчанию в Linux используется два пробела, но, возможно, вы захотите использовать два двоеточия Следующая команда показывает, как указать разделитель вывода:

столбец -s "|" -t -o "::"

При использовании с файлом таблицы лиги команда выдает следующий вывод:

pos :: team :: pld :: pts
1 :: Лестер :: 31 :: 66
2 :: Тоттенхэм :: 31 :: 61
3 :: арсенал :: 30 :: 55
4 :: мужской город :: 30 :: 51
5 :: западная ветчина :: 30 :: 50
6 :: Манчестер Юнайтед :: 30 :: 50
7 :: Саутгемптон :: 31 :: 47
8 :: Сток Сити :: 31 :: 46
9 :: Ливерпуль :: 29 :: 44
10 :: Челси :: 30 :: 41

Заполнить строки перед столбцами

Есть еще один переключатель, который не особенно полезен, но включен сюда для полноты картины. Ключ -x при использовании с ключом -c заполняет строки перед столбцами.

Так что это значит? Посмотрите на следующий пример:

колонка -c100 лига

Вывод этого будет следующим:

pos | team | pld | pts 3 | арсенал | 30 | 55 6 | man utd | 30 | 50 9 | Ливерпуль | 29 | 44 1 | Лестер | 31 | 66 4 | Манчестер Сити | 30 | 51 7 | Саутгемптон | 31 | 47 10 | Челси | 30 | 41 2 | Тоттенхэм | 31 | 61 5 | Вест Хэм | 30 | 50 8 | Сток Сити | 31 | 46

Как вы можете видеть, сначала идет вниз, а затем поперек.

Теперь посмотрим на этот пример:

колонка -c100 -x лига

На этот раз вывод выглядит следующим образом:

pos | team | pld | pts 1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | арсенал | 30 | 55 4 | Манчестер Сити | 30 | 51 5 | Вест Хэм | 30 | 50 6 | Манчестер Юнайтед | 30 | 50 7 | Саутгемптон | 31 | 47 8 | Сток Сити | 31 | 46 9 | Ливерпуль | 29 | 44 10 | Челси | 30 | 41

Данные идут по экрану, а затем вниз.

Другие переключатели

Доступны только другие переключатели:

колонка -V

Здесь отображается версия колонки, установленной на вашем компьютере.

столбец

Это отображает страницу руководства к окну терминала.

Ссылка на основную публикацию