用正则表达式提取页面中的域名
最近学习正则表达式,正则在很多程序中用到,熟练的使用正则,会让我们的效率提高不少。
正则表达式的域名匹配如下:
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
如果我们想在一个杂乱无序的页面中,提取这个页面中所有的域名,如果人工查找,数量少,则一下子可以找到,如果成百上千,人工查找难上加难,有了正则,则可以一瞬间完成
cat a|sed 's/\s/\n/g'|egrep '^[^$]'|egrep -i '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$'|sort|cat>a1
cat a:显示a文档的内容,也就是我们要提取的页面
sed 's/\s/\n/g':用sed命令,将空格换成回车,让域名变成一行
egrep -i '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$':提取域名
sort:把域名进行排序
cat>a1:把提取的域名写入一个新文档
好东西!勇哥,我加你友链了,你也加一下我,
--小江