首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed未知选项到%s错误

sed未知选项到%s错误
EN

Stack Overflow用户
提问于 2015-12-14 16:13:19
回答 1查看 664关注 0票数 2

我有一个Makefile,它有一行:

代码语言:javascript
复制
sed -i -e 's/\(^COPTS = \)/\1$(CFLAGS) /' $(DIR)/Makefile

在替换了值之后,它变成:

代码语言:javascript
复制
sed -i -e 's/\(^COPTS = \)/\1"-I/home/jagadeesh/Smoothwall/bcutm/distrib/tools//powerpc-linux/include -I/home/jagadeesh/Smoothwall/bcutm/distrib/usr/include/ncurses -I/home/jagadeesh/Smoothwall/bcutm/distrib/usr/include" /' net-tools-1.60/Makefile

当make运行时,它会给出以下错误:

代码语言:javascript
复制
sed: -e expression #1, char 23: unknown option to `s'

将在其上运行此sed命令的net-tool-1.60/Makefile包含以下相关行:

代码语言:javascript
复制
COPTS = -D_GNU_SOURCE -O2 -Wall -g # -I/usr/inet6/include
CFLAGS  = $(COPTS) -I. -idirafter ./include/ -I$(NET_LIB_PATH)
MDEFINES = COPTS='$(COPTS)' LOPTS='$(LOPTS)' TOPDIR='$(TOPDIR)'

这个命令做了什么,Makefile的哪一行,为什么会出现错误,除了CFLAGS和LDFLAGS之外,我没有修改任何东西,这是我的自定义。

EN

回答 1

Stack Overflow用户

发布于 2015-12-14 16:20:33

由于替换部分包含分隔符/,因此命令失败。我建议使用不同的分隔符,比如~

代码语言:javascript
复制
sed -i -e 's~\(^COPTS = \)~\1$(CFLAGS) ~' $(DIR)/Makefile
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34262312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档