我正在尝试操作OS X上的Adobe Reader plist文件以停止自动更新检查。 这需要编写脚本,以便我可以影响700多台Mac上的更改。
我有:
#!/bin/bash
plutil -convert xml1 /Users/username/Library/Preferences/com.adobe.Reader.plist
转换文件以进行文本编辑。
我在其他地方发现这个用于多行搜索并替换:
sed -n '1h;1!H;${;g;s/<h2.*</h2>/No title here/g;p;}' sample.php > sample-edited.php;
源文件有重复的类似数据,因此我需要在条目 CheckForUpdatesAtStartup
之后找到该事件。以下是文件的一部分:
<key>AutoUriDetect</key>
<array>
<integer>0</integer>
<true/>
</array>
<key>CheckForUpdatesAtStartup</key>
<array>
<integer>0</integer>
<true/>
</array>
<key>CheckGPUAtStartup</key>
<array>
<integer>0</integer>
<false/>
</array>
所以我需要为 CheckForUpdatesAtStartup 数组替换 true 为 false 。
答案 0 :(得分:1)
awk > outfile '/CheckForUpdatesAtStartup/, /<(true|false)\/>/ {
sub(/true/, "false")
}1' infile