plistファイルから情報を取得する

plistファイルから情報を取得する

macOSから情報を取得するにはスクリプトが必要です。この情報はにありますplist~/Library/Preferences/com.apple.SystemProfiler.plist

バイナリの内容は次のとおりです。

bplist00�_NSWindow Frame SystemProfileYCPU Names_344 284 751 520 0 0 1440 877 �]HV2J-en-GB_GB_4MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports) ,6VYg

テキストファイルの括弧の間に太字と斜体で表示された内容を入れたいです。インターネットで見つけたさまざまな方法を試しましたが、成功しませんでした。

ベストアンサー1

ファイルplist形式は、バイナリXML、プレーンテキストXML、またはプレーンテキストJSONのいずれかです。plist質問に投稿されたファイルはバイナリXML形式です。

バイナリファイルからプレーンテキストを生成する1つの方法は次のとおりです。

plutil -convert xml1 com.apple.SystemProfiler.plist

ファイルをバイナリに変換するには、plutil次のコマンドを使用します。

plutil -convert binary1 com.apple.SystemProfiler.plist

これにより、質問のより良いプレーンテキスト形式を生成するのに役立ちます。


PlistBuddy「HV2J-en-GB_GB_4」が正しいキーであると仮定すると、次の方法で希望の値を取得できます。スペースが表示されるたびに、単一引用符でテキストを囲むことができます。

/usr/libexec/PlistBuddy -c "print :'CPU Names':HV2J-en-GB_GB_4" com.apple.SystemProfiler.plist

BASH スクリプトの場合、コマンド置換を使用して値を変数に入れることができます。

model=$(/usr/libexec/PlistBuddy -c "print :'CPU Names':HV2J-en-GB_GB_4" com.apple.SystemProfiler.plist)

その後、変数でその値を使用できます$model

おすすめ記事