加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – sed错误“无效范围结束”

发布时间:2020-12-14 06:23:22 所属栏目:百科 来源:网络整理
导读:我在Ubuntu 12.04上运行此替换命令. $sed -e "s/([a-zA-Z0-9.-/ :]+)/1/g" 但是,会引发以下错误. sed: -e expression #1,char 27: Invalid range end 我记得同样的表达式适用于MacOSX. 你能描述命令失败的原因吗? 你可以用两种方式解决它.其中一个是使用
我在Ubuntu 12.04上运行此替换命令.
$sed -e "s/([a-zA-Z0-9.-/ :]+)/1/g"

但是,会引发以下错误.

sed: -e expression #1,char 27: Invalid range end

我记得同样的表达式适用于MacOSX.
你能描述命令失败的原因吗?

你可以用两种方式解决它.其中一个是使用-r开关来避免转义特殊字符并移动 – 在第一个或最后一个位置的范围内并避免其特殊含义,它将是:
sed -re "s/([a-zA-Z0-9./ :-]+)/1/g"

否则你将需要转义(,)和,如:

sed -e "s/([a-zA-Z0-9./ :-]+)/1/g"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读