我尝试使用以下内容从文本文件中提取电子邮件:
grep -o ‘[0-9a-zA-Z-_]*@[0-9a-zA-Z-_.]*.[a-zA-Z]*’ infile > outfile.txt
但结果是:
grep: Invalid range end
我不知道为什么......
有人可以帮忙吗? 感谢
答案 0 :(得分:1)
连字符需要是字符类中的第一个或最后一个字符,以避免转义。如果连字符出现在中间,那么它被认为是一个范围。
试试这个grep:
grep -oE '[0-9a-zA-Z_-]+@[0-9a-zA-Z_.-]+\.[a-zA-Z]+' infile > outfile.txt
你引用的内容看起来也很可疑我已经改变了。