사용자 이름 및 UID 표시

사용자 이름 및 UID 표시
cut -f 1,3 -d ':' --output-delimiter=' ' /etc/passwd

위의 코드를 사용하면 다음과 같은 결과를 얻습니다.

root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-network 192
dbus 81
polkitd 999
ntp 38
sshd 74
postfix 89
chrony 998
adilfanta 1000
miked 5001
mca 5002
mdrock 5003
finalexam 5004
mysql 27
apache 48

각 행에 대해 아래와 같은 결과를 얻고 싶습니다.

Name mca and uid  5002

답변1

awk제공된 원시 열 추출 외에도 출력 형식 지정에 대한 더 많은 유연성을 제공합니다 cut.

awk -F : '{ printf "Name %s and uid %d\n", $1, $3 }' /etc/passwd

/etc/passwd또는 디렉터리 서비스를 사용할 수 있는 시스템을 지원하려면(이는 데이터베이스를 제공하는 시스템 에도 적용되지만 passwdmacOS에는 적용되지 않음)

getent passwd |
awk -F : '{ printf "Name %s and uid %d\n", $1, $3 }'

이 코드는 형식 지정을 사용하여 각 행의 첫 번째와 세 번째 분리된 열을 텍스트 문자열의 일부로 awk인쇄합니다 .:printf

관련 정보