使用sed在添加“ /”字符的同时使用环境变量替换字符串

时间:2018-11-02 14:07:42

标签: bash sed

使用sed,如何在添加/字符时替换字符串?

例如,假设我有一个名为file.c的C文件。在这个文件中,我有

#include "some/path/to/some/header.h"

现在,我想用以下内容替换#include的值:

#include "some/different/path/to/a/new_header.h"

但这很重要-我有一个Makefile,用户在其中输入变量$SOMEPATH$SOMEPATH确定到new_header.h的路径

我尝试过

sed -i '3s/#include.*/#include "$(subst, /,\/,$(SOMEPATH))\/new_header.h"/g' file.c

但是我得到的错误是:

char 35: unknown option to `s'

显然我做错了。另外,是否有更好的方法替换#include语句?

0 个答案:

没有答案