gpt4 book ai didi

macos - 向文件添加新行

转载 作者:行者123 更新时间:2023-12-04 01:04:53 25 4
gpt4 key购买 nike

我正在尝试使用 bash 脚本禁用 Spotify 在 macOS 上登录时启动的功能。 Spotify 不使用登录项或 launchd 来启动,因此我必须弄清楚这一点。

Spotify 有一个名为 prefs 的文件,位于 ~/Library/Application Support/Spotify 中。我可以通过在文件中的 core.clock_delta=0 行之后添加 app.autostart-mode="off" 行来手动编辑文件。我想弄清楚的是如何使用脚本来做到这一点。我尝试了以下方法:

sed '/core.clock_delta=0/a app.autostart-mode=\"off\"' prefs

这给了我错误 sed: 1: "/core.clock_delta=0/a a ...": command a expects\followed by text

awk '1;/core.clock_delta=0/{ print "app.autostart-mode=\"off\""; }' prefs

这会按照我期望的方式输出 prefs 文件的文本,但不会向 prefs 文件写入任何内容,这是有道理的考虑到它是 awk。我读到的一个建议是将 -i 添加到 awk 但这不是公认的选项。我不能在我需要的地方使用这条线,因为这条线会随着更新而改变。我也不能只用一个新文件替换整个文件,因为它还包含散列帐户信息。我还尝试将此行添加到文件末尾,但 Spotify 会在第一次运行时崩溃,然后替换文件。

基本上我要找的就是这个

storage.last-location="~/Library/Application Support/Spotify/PersistentCache/Storage"
core.clock_delta=0
app.last-launched-version="1.1.55.498.gf9a83c60"
app.autostart-configured=true

变成这样

storage.last-location="~/Library/Application Support/Spotify/PersistentCache/Storage"
core.clock_delta=0
app.autostart-mode="off"
app.last-launched-version="1.1.55.498.gf9a83c60"
app.autostart-configured=true

我已经在此处搜索并尝试了解决方案,但它们似乎都不起作用,有些人的建议是“我这样做了...”,但没有解释他们是如何做到“这个”的。

最佳答案

根据您展示的示例,您能否尝试以下操作。只需找到字符串的匹配项并打印当前行和您要打印的值。

awk '/core\.clock_delta=0/{print $0 ORS "app.autostart-mode=\"off\"";next} 1' Input_file

或者可以这样做:

awk '/core\.clock_delta=0/{$0=$0 ORS "app.autostart-mode=\"off\""} 1' Input_file

一旦您对屏幕/终端上打印的结果感到满意,然后将 > temp && mv temp Input_file 附加到上述命令以将更改保存到 Input_file 本身。

关于macos - 向文件添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66888940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com