在sed中使用其它的分隔符
在sed中,可以使用别的字符来作为pattern的分隔符,即不再使用'/',例如:
sed 's/old/new/g' 可以被替换为
sed 's,old,new,g'
需要注意的是,在第一种情况下,'/'是分隔符,因此它有特别的含义,因此如果pattern中出现了'/',需要使用转移字符'\'。而在第2种情况下,'/'不再是分隔符,他不具有特殊的含义了,因此在pattern中可以直接使用了,而不用再加转移字符'\',而','有了特殊作用,因此如果','出现在pattern中的时候,应该加上转移字符。
看如下例子:
echo $PATH | sed 's,.*/,,;'
上述命令的含义是将PATH中的path,即xxxxx/去掉,从而得到最终的文件名。
crosstool工具的脚本getandpatch.sh中就这样使用了这个命令。
阅读(9016) | 评论(0) | 转发(0) |