[求助大牛]在makefile文件中输入sed,语法有问题。。。

在makefile文件(libgw.mk4)加入如下行:

tag:
sed '/ENDPGMEXP/ i\
  export symbol('_gw_setdebug')\
  export symbol('_gw_debug')\
  export symbol('_gw_set_ptr_debug')'<$(EXPFILE) >tmp.exp4
cat tmp.exp4 > $(EXPFILE)
rm -f tmp.exp4


gmake -f libgw.mk4 tag时出现如下错误:

libgw.mk4:286: warning: overriding commands for target `.c.o'
../../../makerule.inc:125: warning: ignoring old commands for target `.c.o'
sed '/ENDPGMEXP/ i\
  export symbol('_gw_setdebug')\
  export symbol('_gw_debug')\
  export symbol('_gw_set_ptr_debug')'<libgw.exp4 >tmp.exp4
sed: Function /ENDPGMEXP/ i export symbol(_gw_setdebug) export symbol(_gw_debug) export symbol(_gw_set_ptr_debug) cannot be parsed.
gmake: *** [tag] Error 2


我手动输入这些命令是没有问题的。。。。



作者: wangnijie8634   发布时间: 2011-03-31

试试
sed '/ENDPGMEXP/ i\n\
  export symbol('_gw_setdebug')\n\
  export symbol('_gw_debug')\n\
  export symbol('_gw_set_ptr_debug')'<$(EXPFILE) >tmp.exp4

作者: justkk   发布时间: 2011-03-31

libgw.mk4:286: warning: overriding commands for target `.c.o'
../../../makerule.inc:125: warning: ignoring old commands for target `.c.o'
sed '/ENDPGMEXP/ i\n\ 
sed: Function /ENDPGMEXP/ i\n\ cannot be parsed.
gmake: *** [tag] Error 2

作者: wangnijie8634   发布时间: 2011-03-31

在文件script.sed中加入:
#!/bin/sed -f
/ENDPGMEXP/ i\
  export symbol('_gw_setdebug')\
  export symbol('_gw_debug')\
  export symbol('_gw_set_ptr_debug')


sed -f script.sed <文件1 >文件2 

作者: ch19860304   发布时间: 2011-03-31

引用 3 楼 ch19860304 的回复:

在文件script.sed中加入:
#!/bin/sed -f
/ENDPGMEXP/ i\
export symbol('_gw_setdebug')\
export symbol('_gw_debug')\
export symbol('_gw_set_ptr_debug')


sed -f script.sed <文件1 >文件2


结果是文件2为空

作者: wangnijie8634   发布时间: 2011-03-31

来人啊。。。。。。

作者: wangnijie8634   发布时间: 2011-03-31

不好意思,我摆了个乌龙。。。
因为文件1为空,所以文件2也为空。。

作者: wangnijie8634   发布时间: 2011-03-31