Как я могу разобрать вывод команды OS X defaults read
?Как я могу разобрать вывод `defaults read` на OS X?
, как представляется, выводит формат «старого» формата NeXTSTEP; вещи, которые выглядят как:
{
"Apple Global Domain" = {
AppleAntiAliasingThreshold = 4;
AppleCollationOrder = root;
я пытался писать вывод в файл и преобразования с plutil
, но он задыхается:
> defaults read > defaults.txt
> plutil -convert xml1 defaults.txt
2014-02-02 21:29:14.856 plutil[56896:707] CFPropertyListCreateFromXMLData(): Old-style
plist parser: missing semicolon in dictionary on line 10835. Parsing will be abandoned.
Break on _CFPropertyListMissingSemicolon to debug.
defaults.txt: Property List error: Unexpected character { at line 1/JSON error: No
value for key in object around character 28.
почему, спросите вы?
Я хотел бы сохранить значения по умолчанию в git, поэтому я могу сохранить запись как параметр изменения и diff после внесения изменений, но, похоже, сериализация в defaults read
не является «стабильной строкой»: словари не сбрасывают их ключи в последовательном порядке, вызывая огромное количество шума. если я смогу разобрать defaults read
, я смогу передать данные через последовательный последователь.
Что вы читаете? – trojanfoe
@trojanfoe вывод команды терминала 'defaults read' (я использую OS X 10.8 и 10.9). он сбрасывает ваши предпочтения, но в том, что выглядит как старый формат плеера NeXTSTEP, в отличие от чего-то вроде xml, который будет легко разобрать. я отредактирую вопрос, чтобы попытаться сделать это более ясным. – nrser
Мне нужна такая же функциональность для синтаксического анализа вывода из «/ System/Library/CoreServices/pbs -dump_pboard» –