Java와 관련하여 Safari 용으로 차단 된 응용 프로그램 및 사이트의 허용 목록을 자동으로 추가하려고합니다. 바이너리 plist를 내보내고 bash를 통해 편집 할 수는 있지만 검색 및 바꾸기 방법이나 특정 배치가있는 파일에 간단히 추가하는 방법에 익숙하지 않습니다. Bash - plist 텍스트 파일에서 WhitelistedBlockedPlugins 수정
<?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>BookmarksSidebarWidth</key>
<real>194</real>
...
<key>WhitelistedBlockedPlugins</key>
<array>
<dict>
<key>PluginHostname</key>
<string>www.java.com</string>
<key>PluginIdentifier</key>
<string>com.oracle.java.JavaAppletPlugin</string>
<key>PluginLastVisitedDate</key>
<date>2013-06-05T17:03:26Z</date>
<key>PluginName</key>
<string>Java Applet Plug-in</string>
<key>PluginPageURL</key>
<string>http://www.java.com/en/download/testjava.jsp</string>
<key>PluginPolicy</key>
<string>PluginPolicyBlockWhenInsecure</string>
</dict>
</array>
...
<key>com.apple.Safari.ContentPageGroupIdentifier.WebKit2UsesPageCache</key>
<true/>
</dict>
</plist>
<key>WhitelistedBlockedPlugins</key>
<array>
<dict>
....
....
</dict>
</array>
내가 존재하지 않는 경우, 검색하고, 교체 또는 추가 할 비트입니다. 존재하는 경우,
<key>WhitelistedBlockedPlugins</key>
으로 시작하여 닫는
</array>
으로 끝나는 모든 것을 바꿔서 어쨌든 거기에 들어가는 것을 제어하고 싶습니다.
존재하지 않는 경우 파일 끝에있는 </dict>
의 바로 앞에 추가 할 수 있습니다.
이것은 내가 생각해 낸 논리입니다.하지만 찾지 못하면 찾을 수있는 솔루션을 찾는 데 어려움을 겪고 있습니다.
스택 오버플로에서 비슷한 게시물을 읽은 후에 성공하지 못한 채 몇 가지 시도했습니다. Xcode/CLI 도구와 함께 제공되는 것을 포함하여 OSX에 고유 한 것을 사용하고자합니다.
것들 나는 시도했다 : 파일 작업에
echo
,하지만 난 </dict>
전에 그것을하고 내가하고 싶은 유일한 것입니다 방법을 찾지 못하는있어 <key>WhitelistedBlockedPlugins</key>
및 해당 배열 인 경우 그 아무데도 찾을 수 없습니다. 누구나 지침이나 해결책이 있습니까? 감사합니다
내가 사용하는 것이다'sed'은 (나오지도 = (S) tream은 (ED) 당사 홈페이지에서)하지만 예에 보인다 나 더 복잡해서'python' 스크립트 (또는 다른 언어)를 사용할 것이다. – furas