2

我试图用变量 $ourpath 的内容替换文件中的文本,以便替换目录路径。

    sed -e "s/__REPLACE_THIS_PATH__/${ourpath}/" com.plex.plexconnect_daemon.bash.plist  > com.plex.plexconnect_daemon.bash.plist

但是当我运行它时,它只是删除文件的内容,或者用零长度文件覆盖它。

有什么想法吗?

4

1 回答 1

2

您不能将输出重定向到输入文件。当重定向发生时,文件被截断,所以没有什么可读取的。要么写入不同的文件,然后重命名它,要么使用-ised 选项:

sed -i.bak -e "s/__REPLACE_THIS_PATH__/${ourpath}/" com.plex.plexconnect_daemon.bash.plist

这会将.bak后缀添加到原始文件中,并将结果放入具有原始名称的新文件中。

于 2013-11-14T06:36:00.397 回答