将一列拆分为多列并格式化输出

Viv*_*bas 1 text-formatting

我想将 /etc/passwd 中的用户名输出打印到多列中。我的服务器的输出是

[root@master vdabas]# cat -n /etc/passwd | 切-f1-d“:”

 1  root
 2  bin
 3  daemon
 4  adm
 5  lp
 6  sync
 7  shutdown
 8  halt
 9  mail
10  operator
11  games
12  ftp
13  nobody
14  systemd-network
15  dbus
16  polkitd
17  sshd
18  postfix
19  vdabas
20  vani
21  delhi
Run Code Online (Sandbox Code Playgroud)

我希望输出如下:

 1  root            8  halt             15  dbus
 2  bin             9  mail             16  polkitd
 3  daemon          10 operator         17  sshd
 4  adm             11 games            18  postfix
 5  lp              12 ftp              19  vdabas
 6  sync            13 nobody           20  vani
 7  shutdown        14 systemd-network  21  delhi
Run Code Online (Sandbox Code Playgroud)

ste*_*ver 6

您可以使用该pr命令将格式设置为 3 列 ( -3),省略分页 ( -T):

cat -n /etc/passwd | cut -f1 -d":" | pr -T -3
Run Code Online (Sandbox Code Playgroud)

也许

awk -F: '{print NR,$1}' /etc/passwd | pr -T -3
Run Code Online (Sandbox Code Playgroud)