dscl . -readall /Users
wypisuje coś takiego (tylko część całego wyniku):
PrimaryGroupID: 20
RealName:
Johnny Smith
RecordName: johnny
RecordType: dsRecTypeStandard:Users
UniqueID: 501
UserShell: /bin/bash
Mam to polecenie:
dscl . -readall /Users UniqueID | awk '/^RecordName:/ {name=$2}; /^UniqueID: / {if ($2 > 500) print name}'
Zasadniczo wyprowadza wszystkie RecordName z UniqueID wyższym niż 500.
Chcę również wydrukować RealName, UserShell, RecordType, PrimaryGroupID i ewentualnie inną kategorię, jeśli UniqueID jest większy niż 500, ale mam pewne trudności ze składnią awk.
Jak miałbym to zrobić?
Niektóre próbki wyjściowe:
<primarygroupid>20</primarygroupid>
<realname>Johnny Smith</realname>
...
<uniqueid>501</uniqueid>
Format, do którego mogę szybko uzyskać dostęp w celu odczytu i umieszczenia w zmiennej dla programu.
awk
? OS X oferuje o wiele więcej narzędzi, które można wykorzystać.