
Unix Mac 10.9.5、French CAのバージョンでは、多くのヒントを読んでいますが、エラーが消えるとplistが破損しています。
locale コマンドは以下を提供します。
LANG="fr_CA"
LC_COLLATE="fr_CA"
LC_CTYPE="fr_CA.UTF-8"
LC_MESSAGES="fr_CA"
LC_MONETARY="fr_CA"
LC_NUMERIC="fr_CA"
LC_TIME="fr_CA"
LC_ALL=
ファイルはtest.mac.plistという名前のplistで、次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>bookmarklist.expansionStates</key>
<dict>
<key>GENEREAL</key>
<true/>
</dict>
</dict>
</plist>
スクリプト可能またはインラインコマンドは、sed -i '.bak'«s / xxxxx / test / g»test.mac.plistです。
- 無効なバイトオーダーエラーが発生します。
- 提案されているようにLC_TYPEをLC_TYPE = Cに変更すると、ファイルは次のようになります。
bplist00fl
¬ !"+ -./ 2 34' 89: _ >
どんなアイデアがありますか?
答え1
あなたのplistファイルがバイナリplistファイルに変換されました。最良の方法は、デフォルトまたはPlistBuddyを使用してplistファイルを変更することです。どちらもXMLまたはバイナリplistファイルに書き込みます。あなたの例では、GENERALキーをfalseに変更したいようです。 PlistBuddyでは、最初にエントリ全体を削除してから、そのアイテムをファイルに再度追加する必要があります。アイテム全体を削除します。
/usr/libexec/PlistBuddy -c "Delete :bookmarklist.expansionStates" /path/to/file
次に、新しいブール値を使用して項目を再追加します。
/usr/libexec/PlistBuddy -c "Add :bookmarklist.expansionStates:GENERAL bool false" /path/to/file
デフォルト値を使用するには、plistファイルが正しいドメインにある必要があり、PlistBuddyを使用するよりも柔軟性が低くなります。これらのコマンドの前にLC_TYPE = CまたはLC_ALL = Cを付ける必要があるかもしれません。