以列格式显示命令输出或文件内容
您是否厌倦了在终端上查看拥挤的命令输出或文件内容。这篇简短的文章将演示如何以更清晰的“分栏”格式显示命令输出或文件内容。
我们可以使用列实用程序将标准输入或文件内容转换为多列的表格形式,以获得更清晰的输出。
另请参阅:12 个有用的命令,用于过滤 Linux 中有效的文件操作文本
为了更清楚地理解,我们创建了一个文件“ example-authors.txt ”,其中包含前 10 位作者姓名、撰写的文章数量以及他们迄今为止收到的关于文章的评论数量。
为了演示这一点,运行下面的cat 命令来查看example-authors.txt文件。
$ cat example-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
使用column 命令,我们可以显示更清晰的输出,如下所示,其中有助于-t
确定输入包含的列数并创建一个表,并且-s
指定一个分隔符。
$ cat example-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
您可能还想阅读以下相关文章。
如果您有任何疑问,请使用下面的评论表给我们写信。您也可以与我们分享任何有用的 Linux 命令行技巧和窍门。