使用 sed 或 awk 查找字符串并修改 xml 文档中后面的文本
我正在尝试在 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。
I am attempting to manipulate an Adobe Reader plist file on OS X to stop auto update checking.
This needs to be scripting so I can affect the change on 700+ Macs.
I have:
#!/bin/bash
plutil -convert xml1 /Users/username/Library/Preferences/com.adobe.Reader.plist
to convert the file for text editing.
I found this elsewhere for multi-line search and replace:
sed -n '1h;1!H;${;g;s/<h2.*</h2>/No title here/g;p;}' sample.php > sample-edited.php;
The source file has repetitions of similar data, so I need to find the occurrence after the entry CheckForUpdatesAtStartup
Here is a portion of the file:
<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>
So I need to replace the true to false for the CheckForUpdatesAtStartup array.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)