sed:-e表达式#1,char 52:无效的范围结束



我有一个在regex101上验证的regex表达式:[a-zA-Z0-9-_.]+@[a-zA-Z0-9-]+.+[a-zA-Z0-9-]{2,4}

但当我尝试用sed运行它时,我得到了:sed: -e expression #1, char 52: Invalid range end

据我所知,当你定义你的范围时,这通常是一个问题,比如:在sed的某些版本中使用A-z,但我在这里使用A-zA-z?所以我想是特殊字符导致了错误,但我该如何解决呢?

Sed:$( sed -E -n '/[a-zA-Z0-9-_.]+@[a-zA-Z0-9-]+.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )

在第一个字符类[a-zA-Z0-9-_.]中,这不是有效范围:9-_

-移动到字符类中的最后一个字符:[a-zA-Z0-9_.-]

相关内容

  • 没有找到相关文章

最新更新