使用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
语句?