dscl . -readall /Users
выводит что-то вроде этого (только часть всего вывода):
PrimaryGroupID: 20
RealName:
Johnny Smith
RecordName: johnny
RecordType: dsRecTypeStandard:Users
UniqueID: 501
UserShell: /bin/bash
У меня есть эта команда:
dscl . -readall /Users UniqueID | awk '/^RecordName:/ {name=$2}; /^UniqueID: / {if ($2 > 500) print name}'
Он в основном выводит все RecordName с уникальным идентификатором выше 500.
Я также хочу напечатать RealName, UserShell, RecordType, PrimaryGroupID и, возможно, любую другую категорию, если UniqueID больше 500, но у меня есть некоторые трудности с синтаксисом awk.
Как бы я поступил так?
Некоторые примеры выходных данных:
<primarygroupid>20</primarygroupid>
<realname>Johnny Smith</realname>
...
<uniqueid>501</uniqueid>
Формат, к которому я могу быстро получить доступ для чтения и помещения в переменную для программы.