Chinaunix
标题:
问一个sed脚本
[打印本页]
作者:
1226ehziy
时间:
2010-05-21 11:16
标题:
问一个sed脚本
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
这句是什么意思
主要是那个@不明白
作者:
linfengfeiye
时间:
2010-05-21 11:19
@就是分界符号,和你常用的/是一个意思
sed在用s命令的时候,分界符可以是任何字符。
甚至用数字都可以。。
sed -i 's4\./fixinc\.sh4-c true4' gcc/Makefile.in
我也是初学shell.
希望我没有讲错!
作者:
XQKA
时间:
2010-05-21 11:25
对,你讲的没错。
作者:
1226ehziy
时间:
2010-05-21 12:27
谢谢LS两位 3q 我明白了
那句话就是把文件中 ./fixinc.sh 题换成 -c true
作者:
expert1
时间:
2010-05-21 12:58
呵呵,这样用有目的的哈哈哈哈。
作者:
1226ehziy
时间:
2010-05-21 13:51
回复
5#
expert1
愿听详解 3q
作者:
expert1
时间:
2010-05-21 13:58
本帖最后由 expert1 于 2010-05-21 14:00 编辑
回复
6#
1226ehziy
比如:
echo "http://www.test.com/xkds.php?id=123"|sed 's/http://xxx./www/'
你会发现sed后http://这里的2个斜杠。此时/被当做分隔符处理(此时效果是把http:替换为空,但后面又有xxx./www/',你运行后会报错,所以把分隔符换成别的,比如#,%目的就在于此。免得引起误会。
此时的效果是echo "http://www.test.com/xkds.php?id=123"|sed 's#http://xxx.#www/'
就是把http://换成了www
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2