【问题标题】:what does sed 's#/text##' mean?sed 's#/text##' 是什么意思?
【发布时间】:2015-07-21 06:29:57
【问题描述】:

我刚刚遇到这个 sed 表达式,但无法弄清楚它的确切含义。我之前执行过谷歌搜索。我会很感激任何帮助。开头的#和结尾的##是什么意思?

sed 's#/text##'

【问题讨论】:

  • 模式分隔符 - 它并不总是必须是“/”
  • 哦,好的。所以 / 和 # 和 delimiter 的功能一样,你可以选择吗?

标签: regex unix sed solaris-10


【解决方案1】:

这把“/text”替换成空“”,试试下面它给空白

echo /text| sed 's#/text##'

初始 # 是 sed 分隔的,用于替换和 中间 # 是要替换的第一个字符串之间的分隔符,并且 最后 # 是 sed 的最后一个分隔符

它与 regex/replace sed 命令相同

【讨论】:

  • Initial # 是用于替换的 sed 分隔符,中间 # 是第一个字符串(要替换)和要替换的字符串之间的分隔符,最后一个 # 是 sed 的最后一个分隔符
  • 可以写成:sed -e 's/\/text//',意思是一样的。使用# 作为分隔符而不是/ 可以避免使用反斜杠,这通常是个好主意。
  • 哦。行。谢谢。那么 / 和 # 是同一类型的分隔符吗?
  • 大概,是的。 s 之后的第一个字符是分隔符。按照惯例,这是一个斜线,但只要您保持一致,您就可以使用任何字符。在某些情况下,控制字符(例如 control-A)可能是有效的;它通常不会出现在有效文本中。
猜你喜欢
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-02
  • 2019-08-24
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多