ユーザー名と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 }'

このコードは書式設定を使用して、各行の最初と3番目の別々の列をテキスト文字列の一部としてawk印刷します。:printf

関連情報