列を複数の列に分割して出力形式を指定する

列を複数の列に分割して出力形式を指定する

/etc/passwdのユーザー名出力を複数の列に印刷したいと思います。私のサーバーの出力は

[root@master vdabas]# cat -n /etc/passwd |cut -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

出力が次のようになります。

 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

ベストアンサー1

このコマンドを使用して、ページ付け()を省略し、pr3つの列()でフォーマットすることができます。-3-T

cat -n /etc/passwd | cut -f1 -d":" | pr -T -3

おそらく

awk -F: '{print NR,$1}' /etc/passwd | pr -T -3

おすすめ記事