Отображение вывода команды или содержимого файла в формате столбца
Вам надоело просматривать перегруженный вывод команд или содержимое файла на терминале? В этой короткой статье будет продемонстрировано, как отображать вывод команды или содержимое файла в более понятном формате «с столбцами».
Мы можем использовать утилиту column для преобразования стандартного ввода или содержимого файла в табличную форму из нескольких столбцов для более четкого вывода.
Читайте также: 12 полезных команд для фильтрации текста для эффективных операций с файлами в Linux
Чтобы было понятнее, мы создали следующий файл «tecmint-authors.txt», который содержит список 10 имен лучших авторов, количество написанных статей и количество комментариев, полученных ими к статье на данный момент. .
Чтобы продемонстрировать это, запустите команду cat ниже, чтобы просмотреть файл tecmint-authors.txt.
cat tecmint-authors.txt
Пример вывода
pos|author|articles|comments
1|ravisaive|431|9785
2|aaronkili|369|7894
3|avishek|194|2349
4|cezarmatei|172|3256
5|gacanepa|165|2378
6|marintodorov|44|144
7|babin lonston|40|457
8|hannyhelal|30|367
9|gunjit kher|20|156
10|jesseafolabi|12|89
Используя команду столбца, мы можем отобразить более понятный вывод следующим образом: -t
помогает определить количество столбцов, содержащихся во входных данных, и создает таблицу, а -s
указывает символ-разделитель.
cat tecmint-authors.txt | column -t -s "|"
Пример вывода
pos author articles comments
1 ravisaive 431 9785
2 aaronkili 369 7894
3 avishek 194 2349
4 cezarmatei 172 3256
5 gacanepa 165 2378
6 marintodorov 44 144
7 babin lonston 40 457
8 hannyhelal 30 367
9 gunjit kher 20 156
10 jesseafolabi 12 89
По умолчанию строки заполняются перед столбцами. Чтобы заполнить столбцы перед заполнением строк, используйте переключатель -x
, а для указания команде столбца учитывать пустые строки (которые по умолчанию игнорируются), включите флаг -e
.
Вот еще один практический пример: запустите две команды ниже и посмотрите разницу, чтобы лучше понять, на что способен волшебный столбец.
mount
mount | column -t
Пример вывода
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda10 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/
....
Чтобы сохранить правильно отформатированный вывод в файле, используйте перенаправление вывода, как показано.
mount | column -t >mount.out
Для получения дополнительной информации см. справочную страницу столбцов:
man column
Возможно, вам также будет интересно прочитать следующие статьи по теме.
- Как использовать Awk и регулярные выражения для фильтрации текста или строки в файлах
- Как найти и отсортировать файлы по дате и времени изменения в Linux
- 11 продвинутых команд Linux ‘Grep’ для классов символов и выражений в скобках
Если у вас есть какие-либо вопросы, используйте форму комментариев ниже, чтобы написать нам. Вы также можете поделиться с нами любыми полезными советами и рекомендациями по командной строке в Linux.