plutilはmacOS標準搭載のコマンドで、plist(property list)ファイルの検証・変換・編集ができる。-pオプションで、XML形式やバイナリ形式のplistファイルの中身を人間が読みやすい形式で表示できる。

plistの中身を表示する

$ plutil -p sample.plist
{
  "Count" => 3
  "Name" => "Sample"
  "Tags" => [
    0 => "a"
    1 => "b"
  ]
}

辞書は{}、配列は[]で表示され、配列の要素にはインデックス番号が添えられる。この出力形式はman plutilにも「マシンでのパースを想定しない、安定していないフォーマット」と明記されており、あくまで人間が目視で確認するための表示専用である。

複数ファイルをまとめて表示する

引数に複数のファイルを指定すると、それぞれの内容を続けて表示する。

$ plutil -p sample.plist sample2.plist

標準入力から読み込む

ファイル名の代わりに-を指定すると、標準入力からplistを読み込んで表示する。

$ cat sample.plist | plutil -p -
{
  "Count" => 3
  "Name" => "Sample"
  "Tags" => [
    0 => "a"
    1 => "b"
  ]
}

パイプで別コマンドの出力を直接確認したい場合に使える。

存在しないキーを扱うコマンドのエラー

plutilの他のオプション(-type-extractなど)で存在しないキーパスを指定すると、エラーメッセージと共に終了コード1で失敗する。

$ plutil -type NoSuchKey sample.plist
sample.plist: Could not extract value, error: No value at that key path or invalid key path: NoSuchKey

スクリプト内でplutilの実行結果を判定する際は、終了コードで成否を確認できる。

参考

PLUtil Command: macOS Property List utility