+ -
当前位置:首页 → 问答吧 → sed命令含叹号的问题

sed命令含叹号的问题

时间:2011-02-25

来源:互联网

在freebsd下有一Makefile,用于自动生成.h依赖

$OBJDIR = obj

depend: xxx
    for i in $(SRCDIR)/*.c; do $(CC) $(INCLUDES) -MM -DDEPEND $$i >> tmpdepend; done
    sed -e "s!^[^ ]!$(OBJDIR)/&!" < tmpdepend > Dependfile
    rm -f tmpdepend


第二行 sed -e "s!^[^ ]!$(OBJDIR)/&!" < tmpdepend > Dependfile 怎么理解?
我在bash下 sed -e "s!^[^ ]!obj/&!"   报错!obj/: event not found

究竟怎么理解这条语句?

作者: daly88   发布时间: 2011-02-25

回复 daly88


    这里的!是分割符s/adasdf/bbbbbb/:跟这里的/是一个意思

作者: wtuter   发布时间: 2011-02-25

回复 daly88


    楼上正解,把"!"换成"|"或"#"再试试

作者: yinyuemi   发布时间: 2011-02-25

分割符 除 \外 基本都能用

作者: chenbin200818   发布时间: 2011-02-25

哦~~~原来如此。紧跟着s后面的符号都认为是分隔符

作者: daly88   发布时间: 2011-02-25

回复 daly88


    因为原始字串里面有个“/”,为了方便就把分隔符换掉了。其实也可以转义

作者: 昭襄王   发布时间: 2011-02-25

:P:P:P

作者: 南极雨   发布时间: 2011-02-25

热门下载

更多