column命令可将文本数据格式化为表格,使用-t选项自动对齐列,-s指定分隔符,如column -s, -t处理CSV;可结合ps、awk等命令预处理数据,解决空格字段问题,并通过printf实现固定列宽,适用于日志与系统信息展示。

Linux中表格处理,特别是利用
column
column
column
最简单的用法是直接将文本通过管道传递给
column
data.txt
name age city Alice 30 NewYork Bob 25 London Charlie 35 Paris
你可以使用以下命令将其格式化为表格:
column -t data.txt
-t
column
name age city Alice 30 NewYork Bob 25 London Charlie 35 Paris
默认情况下,
column
-s
data.csv
name,age,city Alice,30,NewYork Bob,25,London Charlie,35,Paris
你可以使用以下命令进行格式化:
column -s, -t data.csv
-s,
name age city Alice 30 NewYork Bob 25 London Charlie 35 Paris
column
ps
ps aux | head -n 5 | column -t
这里,
ps aux
head -n 5
column -t
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 16540 2544 ? Ss Apr20 0:08 /sbin/init root 2 0.0 0.0 0 0 ? S Apr20 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Apr20 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< Apr20 0:00 [rcu_par_gp]
当字段本身包含空格时,
column
awk
sed
column
例如,假设你的数据如下:
name,age,address Alice Smith,30,"123 Main St" Bob Johnson,25,"456 Oak Ave"
你可以使用
awk
column
awk -F, '{gsub(/ /, "_", $3); print $0}' data.csv | column -s, -t | awk '{gsub(/_/, " ", $3); print $0}'这个命令首先使用
awk
column
awk
column
虽然
-t
column
printf
例如,假设你想要创建三列,每列宽度分别为10、5和15个字符。你可以使用以下命令:
awk -F, '{printf "%-10s %-5s %-15s\n", $1, $2, $3}' data.csv这里,
%-10s
%-5s
%-15s
column
在脚本中使用
column
format_data.sh
#!/bin/bash
DATA_FILE="data.csv"
awk -F, '{gsub(/ /, "_", $3); print $0}' "$DATA_FILE" | column -s, -t | awk '{gsub(/_/, " ", $3); print $0}'然后,你可以通过以下方式运行脚本:
chmod +x format_data.sh ./format_data.sh
总的来说,
column
以上就是如何在Linux中表格处理 Linux column格式化输出的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号