帮忙详细解释一下这句shell语句(path="`echo $0 | sed 's,//*,/,g'`")的意思,谢谢!

如题,并举例说明sed中加逗号的用法,谢谢了!(莫抄袭)

日常咱们用sed 都是  sed 's/.*//g' 来进行操作。但是当需要替换的文本里含有'/'的时候,

我们也可以指定这个'/'分割的书写格式,比如使用','和'#'来代替'/'

但是这种替代,按照第一个来进行指定,并且在后边书写时,不可更改。

这个意思sed的意思就是吧多个'/'替换成一个'/'

举几个例子我觉得会很直观。


追问

,/ 或 #/ 或 a/ 这三个语句,就是用来指定“/”用哪个符号来代替的是吗?

另:您用的是哪个shell登陆工具啊?

追答

对,但是这个如果第一个已经指定后就不能在更换了,比如你开头用#,那么后边也要用#。
用的Xshell

追问

符号“/”貌似必须指定一个其他字符来替换它的,是这样的吗?

追答

这个不是必须的。s/.*/ABC/  是sed书写的固定模式。只不过这个模式中的‘/’分割符是可以更换的。

如果你非想使用'/'来写,也不是不可以。但是需要替换字符中使用的'/'需要进行转义'\/'

看例子,这样写看起来不是很直观。可读性不是很强。

温馨提示:答案为网友推荐,仅供参考
相似回答