LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 877|回复: 1

高手请进:有关sed命令的问题

[复制链接]
发表于 2008-10-13 12:17:14 | 显示全部楼层 |阅读模式
sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.2|"   Makefile.in

是什么意思?特别是|和◎符号
发表于 2008-10-13 13:01:46 | 显示全部楼层
这个第二个是@ (at) 符号,在这里是一个自己做的标记,在sed中没有特别的含义。
"|" 这个是用s命令的特别定义,sed定义在s后面的第一个任意字符作为分隔符,
我们一般用/ (slash),在这里用的是"|"。
由于这里后面的/usr/share这里面包含有/,所以不能用我们常用的/,要用其他的字符。
一般用+作为代替,实际上用其他的也可以。
s的一般格式为 s/orginal/replaced/g  , 最后的g(global)表示全行替换,如果没有g,则表示遇到的一个替换,后面的不替换。

-i 表示直接在原来的文件中替换. sed 默认是不修改原文件的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表