一. 简介
column
命令用于将文本以列对齐的方式格式化输出,通常用于美观展示数据。它非常适合处理以定界符分隔的数据,比如使用空格、制表符或逗号分隔的表格数据。
选项 | 含义 |
---|---|
-t |
自动检测并对齐列(默认检测空白字符) |
-s <分隔符> |
指定字段的分隔符(如 , 和: 等) |
-x |
按行填充而不是按列填充(在多列布局时使用) |
二. 文本列对齐
-t
:默认检测的是空白字符
apluser@FengYeHong-HP:work$ echo -e "Name Age\nAlice001 25\nBob 30"
Name Age
Alice001 25
Bob 30
apluser@FengYeHong-HP:work$ echo -e "Name Age\nAlice001 25\nBob 30" | column -t
Name Age
Alice001 25
Bob 30
三. csv文件列对齐显示
-s ","
:指定csv
文件以,
进行分割- 然后再通过
-t
自动调整
apluser@FengYeHong-HP:work$ cat sample_data.csv
"Name","Age","City","address"
"Alice","25","Tokyo","1-2-3 Shibuya"
"Bob","30","Osaka","4-5-6 Namba"
"Charlie","22","Kyoto","7-8-9 Gion"
apluser@FengYeHong-HP:work$
apluser@FengYeHong-HP:work$
apluser@FengYeHong-HP:work$ cat sample_data.csv | column -s "," -t
"Name" "Age" "City" "address"
"Alice" "25" "Tokyo" "1-2-3 Shibuya"
"Bob" "30" "Osaka" "4-5-6 Namba"
"Charlie" "22" "Kyoto" "7-8-9 Gion"
四. 文件显示
- 文件行转列之后,由于文件名长度不同导致数据展示不美观
- 使用
xargs -L
配合column -t
进行美观展示
apluser@FengYeHong-HP:work$ find /usr/bin/ -executable -type f | head
/usr/bin/pslog
/usr/bin/dpkg-deb
/usr/bin/tabs
/usr/bin/pod2man
/usr/bin/envsubst
/usr/bin/podchecker
/usr/bin/apt-mark
/usr/bin/colcrt
/usr/bin/crontab
/usr/bin/ntfswipe
apluser@FengYeHong-HP:work$ find /usr/bin/ -executable -type f | xargs -L 3 | head
/usr/bin/pslog /usr/bin/dpkg-deb /usr/bin/tabs
/usr/bin/pod2man /usr/bin/envsubst /usr/bin/podchecker
/usr/bin/apt-mark /usr/bin/colcrt /usr/bin/crontab
/usr/bin/ntfswipe /usr/bin/pkaction /usr/bin/id
/usr/bin/run-parts /usr/bin/gpgcompose /usr/bin/gettext
/usr/bin/setleds /usr/bin/xauth /usr/bin/clear
/usr/bin/ckbcomp /usr/bin/vigpg /usr/bin/ntfstruncate
/usr/bin/run-one /usr/bin/x86_64-linux-gnu-dwp /usr/bin/mtr-packet
/usr/bin/wc /usr/bin/dbus-cleanup-sockets /usr/bin/cksum
/usr/bin/pkexec /usr/bin/systemd-sysext /usr/bin/gpgv
xargs: echo: terminated by signal 13
apluser@FengYeHong-HP:work$ find /usr/bin/ -executable -type f | xargs -L 3 | column -t | head
/usr/bin/pslog /usr/bin/dpkg-deb /usr/bin/tabs
/usr/bin/pod2man /usr/bin/envsubst /usr/bin/podchecker
/usr/bin/apt-mark /usr/bin/colcrt /usr/bin/crontab
/usr/bin/ntfswipe /usr/bin/pkaction /usr/bin/id
/usr/bin/run-parts /usr/bin/gpgcompose /usr/bin/gettext
/usr/bin/setleds /usr/bin/xauth /usr/bin/clear
/usr/bin/ckbcomp /usr/bin/vigpg /usr/bin/ntfstruncate
/usr/bin/run-one /usr/bin/x86_64-linux-gnu-dwp /usr/bin/mtr-packet
/usr/bin/wc /usr/bin/dbus-cleanup-sockets /usr/bin/cksum
/usr/bin/pkexec /usr/bin/systemd-sysext /usr/bin/gpgv