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

Команда Linux Column работает с текстовыми файлами с разделителями

Вы можете отобразить файл с разделителями в терминале 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

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

 столбец 

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

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

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

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

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

 column -c 

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

 column -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

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

 column -s "|" -t 

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

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

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

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

 column -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 заполняет строки перед столбцами.

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

 column -c100 лига 

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

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

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

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

 column -c100 -x лига 

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

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

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

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

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

 столбец -V 

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

 column --help 

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

Оцените статью
Solutics.ru
Добавить комментарий