sed:-e 表达式 #1,字符 52:无效范围结束
sed: -e expression #1, char 52: Invalid range end
我有这个在 regex101 上验证的正则表达式:
[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}
但是当我尝试使用 sed 运行 它时,我得到:sed: -e expression #1, char 52: Invalid range end
据我了解,当您定义范围时,这通常是一个问题:
A-z 在某些版本的 sed 中,但在这里我放的是 a-zA-Z?所以我想这是导致错误的特殊字符,但我该如何解决它?
塞德:
$( sed -E -n '/[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )
在您的第一个字符中 class [a-zA-Z0-9-_.]
这不是有效范围:9-_
将 -
移动到您角色中的最后一个字符 class:[a-zA-Z0-9_.-]
我有这个在 regex101 上验证的正则表达式:
[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}
但是当我尝试使用 sed 运行 它时,我得到:sed: -e expression #1, char 52: Invalid range end
据我了解,当您定义范围时,这通常是一个问题: A-z 在某些版本的 sed 中,但在这里我放的是 a-zA-Z?所以我想这是导致错误的特殊字符,但我该如何解决它?
塞德:
$( sed -E -n '/[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )
在您的第一个字符中 class [a-zA-Z0-9-_.]
这不是有效范围:9-_
将 -
移动到您角色中的最后一个字符 class:[a-zA-Z0-9_.-]