Chinaunix
标题:
寻找一个天外飞仙级的shell命令
[打印本页]
作者:
fangj1n
时间:
2013-07-31 17:22
标题:
寻找一个天外飞仙级的shell命令
目录有8G大小
目录下还有子目录
子目录下放着网页源码文件
需要从该目录下把所有域名提取出来
比如说
http://www.baidu.com
这样的
把baidu.com这部分提取出来就可以
内存只有512,求一个效率比较高的shell命令,谢谢
作者:
reyleon
时间:
2013-07-31 17:43
grep -Proh '(?<=http://www.)([\d\w][.]?)+' $urdir
复制代码
姑且试试
作者:
fangj1n
时间:
2013-07-31 19:06
回复
2#
reyleon
这个命令遇到像
http://music.baidu.com
这样的就提取不了了
还有没有加强版的
作者:
b4and5
时间:
2013-07-31 21:49
grep -Por "\..*\.*" | sed "s/^.//g" $urdir
试试这个
作者:
b4and5
时间:
2013-07-31 21:49
grep -Por "\..*\.*" | sed "s/^.//g" $urdir
试试这个
作者:
bikong0411
时间:
2013-08-01 08:36
echo
http://music.baidu.com
| sed 's/^[^\.]*\.\(.*\)/\1/'
作者:
bikong0411
时间:
2013-08-01 08:40
echo
http://www.xx.baidu.com
| grep -oP '(?<=\.).*'
echo
http://www.xx.baidu.com
| cut -d'.' -f 2-
echo
http://www.xx.baidu.com
| awk -vFS='.' '{for(i=2;i<NF;i++){printf $i FS};printf $NF}'
作者:
Ray001
时间:
2013-08-01 10:50
perl应该更高效,不过我不会。
作者:
王晓兜
时间:
2013-08-01 15:14
awk -F "." '{print$2"."$3}'
要那个字段就截取那个呗
作者:
yyt030
时间:
2013-08-01 15:19
LZ 没有说清楚,是要解析文件里面的内容呢?还是文件名?
作者:
justlucifer
时间:
2013-08-01 15:30
我是来学习的
作者:
linuxbrook
时间:
2013-08-01 15:38
echo
http://www.xx.baidu.com
| awk -F"/" '{ print $3 }'
作者:
helpid
时间:
2013-08-01 15:46
问题都没说清楚。无法盲目给出答案~
作者:
wenhq
时间:
2013-08-02 09:05
没有样本怎么能给方案。感觉大家都一直是猜。LZ不厚道。
作者:
itfly3
时间:
2013-08-02 12:39
你可以试下这个
例子,在不同目录不同文件中包含的域名
1www.baidu.com
1music.baidu.com
1toc.wangyi.com
2www.chinaunix.net
2weibo.chinaunix.com
3www.t1.com.cn
3www.t1.net.cn
3web.t2.net.cn
3web.t2.com.cn
www.t3.com.net
#find . -type f |xargs awk -F '.' '/http:\/\//{if ( $(NF-1) != "net" && $(NF-1) != "com" ){print $(NF-1),".",$NF}else{print $(NF-2),".",$(NF-1),".",$NF}}' |sed -e 's/ //g'
结果:
baidu.com
baidu.com
wangyi.com
chinaunix.net
chinaunix.com
t1.com.cn
t1.net.cn
t2.net.cn
t2.com.cn
t3.com.net
说明:
1、至于重复你可以自行叫sort+uniq去除
2、其中的if语句是要过滤出二级域名,具体还有那些二级郁闷在if判断中添加 && $(NF-1) != "com"(com为其他的一些二级域名,我不详细列出了)
作者:
ningkoon
时间:
2013-08-02 12:42
find ./ *.html|xargs grep "http://www.baidu.com"
作者:
linuxbrook
时间:
2013-08-02 14:04
echo
http://www.baidu.com
|awk -F"/" '{ print $3 }'
www.baidu.com
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2