你厌倦了查看拥塞的命令输出或终端上的文件内容。 这篇简短的文章将演示如何以清晰的“ 列 ”格式显示命令输出或文件内容。
我们可以使用列实用程序将标准输入或文件内容转换为多列的表格形式,以获得清晰的输出。
另请参阅 : 用于在Linux中过滤文本以进行有效文件操作的12条有用命令
为了更清楚地理解,我们创建了一个如下文件“ youcl-authors.txt ”,其中包含了前10位作者的名字,文章的数量以及他们收到的评论数量。
为了演示这个,运行下面的cat命令来查看youcl-authors.txt文件。
$ cat youcl-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 youcl-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中分享任何有用的命令行提示和技巧。