열을 여러 열로 분할하고 출력 형식 지정

열을 여러 열로 분할하고 출력 형식 지정

/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

답변2

macOS(및 다른 BSD 버전)에서 사용됩니다.

 pr -t -3

(소문자 "t")

특별한 경우, 입력 내용이 list.txt 파일에 있는 경우

pr -3 -l7 list.txt

일을 할 것입니다. 앞서 언급했듯이 BSDish macOS "pr" 명령의 경우입니다. (-l 매개변수의 합이 헤더와 테일 깊이의 합보다 크지 않은 경우 -l 옵션은 헤더를 자동으로 억제합니다.)

관련 정보