我嘗試從文本文件中提取電子郵件:提取電子郵件
grep -o ‘[0-9a-zA-Z-_]*@[0-9a-zA-Z-_.]*.[a-zA-Z]*’ infile > outfile.txt
但是,結果是:
grep: Invalid range end
我不知道爲什麼......
有人可以幫忙嗎? 謝謝
我嘗試從文本文件中提取電子郵件:提取電子郵件
grep -o ‘[0-9a-zA-Z-_]*@[0-9a-zA-Z-_.]*.[a-zA-Z]*’ infile > outfile.txt
但是,結果是:
grep: Invalid range end
我不知道爲什麼......
有人可以幫忙嗎? 謝謝
連字符需要是字符類中的第一個或最後一個字符以避免轉義。如果連字號出現在中間,那麼它被認爲是一個範圍。
試試這個grep的:
grep -oE '[0-9a-zA-Z_-][email protected][0-9a-zA-Z_.-]+\.[a-zA-Z]+' infile > outfile.txt
而且您的報價看起來很可疑,我已經改變了。
這裏有無效範圍:'Z-_'。你需要逃避破折號:'Z \ -'。此外,點「。」在正則表達式中是「全部匹配」字符。我想你想從字面上匹配它,所以你也需要逃避它。 – tiguchi 2014-10-09 14:52:01