【发布时间】:2017-09-07 05:50:07
【问题描述】:
我有一个 audacity.cfg 文件,我想在其中编写两个插件路径的替换脚本。路径以前不同,所以我需要插入更新的路径。我将在下面提供一个。
首先,我想找到这个文本,它以有问题的行开头:
FFmpegLibPath
接下来,我想将整行替换为:
FFmpegLibPath=/Library/Application Support/audacity/libs/libavformat.55.dylib
就是这样。它不应该那么困难,但确实如此。我已经使用 sed 和 awk 进行了很多实验,但没有任何东西可以工作。虽然在网上和这个论坛中有很多这样的例子,但没有一个有效。它们都会产生与转义字符相关的错误,以及一些随机的其他东西。我花了几个小时进行实验和研究,但没有取得任何进展。
我意识到斜线和空格可能会导致问题,我已经花费了大量时间来尝试解决这个问题。我尝试了各种方法,但正如我所说,没有任何效果。
有人对此有任何想法吗?
提前感谢您的帮助。
编辑: 我正在运行 MacOS 10.10.5,我在研究中看到的其中一件事是使用 GNU sed,因为没有它,有些参数就不起作用。虽然我确信这会产生更好的结果,但我不能使用它,因为我的用户不会拥有它。我认为这就是为什么这很困难的部分原因,因为我看到的许多解决方案都使用了我无法使用的参数。
【问题讨论】:
-
添加至少一个实验示例...否则,这只是给我一个解决方案类型的问题... ;(
-
很公平 - 这是我尝试的最后一个: sed -e 's/:: FFmpegLibPath = [0-9]+$/:: FFmpegLibPath = 's#FFmpegLibPath=/Library /应用程序支持/audacity/libs/libavformat.55.dylib#g' audacity.cfg
标签: bash awk sed terminal command