首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

linux里的shell sed用法,该怎么处理

2012-03-28 
linux里的shell sed用法看到有个shell脚本文件里有如下一行代码:self_path`echo $0 | sed s,/[^/]*$,,

linux里的shell sed用法
看到有个shell脚本文件里有如下一行代码:

self_path=`echo "$0" | sed 's,/[^/]*$,,'`

其中,$0是路径。

sed的格式是s后面紧跟着/符号,为什么中间有个逗号,后面跟着的,/[^/]*$,,'这一串也费解。。。

[解决办法]
就是将比如说/home/freetstar/test这样的路径的test去掉,得到/home/freetstar


Python code
's,/[^/]*$,,'
[解决办法]
嗯,s后面跟着就是分隔符,一般是大多用/但是你的例子用逗号或其他好点,若用一堆转义符号\/看的就辛苦了...
[解决办法]
s/a/b/可以写成
s,,,
s#a#b#
s!a!b!
s{a}{b}

区别在于是否转义分隔符。
比如s/\//\\/里,要替换/,需要用\转义。
如果这种转义很多,看起来就比较乱。
如果换一个分隔符,就不需要转义了。

热点排行