介绍
小明在做数据分析的时候需要提取文件中关于数字的部分,同时还要提取用户的邮箱部分,但是有的行不是数组也不是邮箱,现在需要你在data2这个文件中帮助他用正则表达式匹配出数字部分和邮箱部分。在这里下载
wget http://labfile.oss.aliyuncs.com/courses/1/data2
将下载的data2保存在/home/shiyanlou/data2
目标
- 在文件data中匹配数字开头的行,结果写入/home/shiyanlou/num文件
- 在文件data中匹配出正确格式的邮箱,结果写入一个名为/home/shiyanlou/mail的文件
提示
- 邮箱的格式
- 注意符号.的处理
来源
2016年tapfun校招面试题
答案
匹配数字开头的行
grep '^[[:digit:]].' data2>num
匹配正确格式的邮箱
grep '^[[:alnum:]]*@[[:alnum:]]*.[[:alnum:]]*' data2>mail
总体上非常简单. 也可用 [0-9] 来代替 [[:digit:]]
[a-zA-Z] 代替 [[:alpha:]]
邮箱的 ‘. ’ 需要加 ‘’ 转义.