| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2382 人关注过本帖, 1 人收藏
标题:非常适合初学者的题目三:百度的高级搜索方法(要求熟悉字符串的处理和文件 ...
只看楼主 加入收藏
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
perl的底层就是C

用一个解释性语言写内核级中断。

好新颖的想法。perl的速度实在是有点慢。

脚本本来不是用来做开发,而是用来干杂务的。
2009-09-17 13:01
zhddragon
Rank: 5Rank: 5
等 级:职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
收藏
得分:0 
以下是引用限量版猪头在2009-9-17 12:55的发言:


    Perl 速度快。那是由于,所有的Perl 开发者都使用Perl,他们希望它快。如果某人想加一个很酷的功能到Perl 中,但它会
    降低其它程序的速度,Larry 基本上会拒绝添加它除非找到一个方法使它足够快
就目前来说一种解释语言,在不考虑程序员的因素的前提下运行速度基本是不可能超过编译语言的。

身体是玩命的本钱
2009-09-17 13:13
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
不好意思,ruby同样功能的程序貌似可以更短……

starwing@starwing-desktop:~$ cat site_inurl.txt

site:www.baidu.com inurl:/more
site:zhidao.baidu.com inurl:/browse/
site:www. inurl:www20041223am

starwing@starwing-desktop:~$ cat url.txt

http://www.baidu.com/more/
http://www.baidu.com/guding/more.html
http://www.baidu.com/events/20060105/photomore.html
http://hi.baidu.com/browse/
http://hi.baidu.com/baidu/
http://www.
http://www.

starwing@starwing-desktop:~$ cat test.rb
#! /usr/bin/ruby
site = {}
File.new("site_inurl.txt").each do |line|
    site[$1] = $2 if line =~ /^site:(.+) inurl:(.+)/
end
File.new("url.txt").each do |line|
    if line =~ /^http:\/\/([^\/]+)/
    print line if site[$1] && line.match(site[$1])
    end
end
starwing@starwing-desktop:~$ ./test.rb
http://www.baidu.com/more/
http://www.baidu.com/guding/more.html
http://www.
starwing@starwing-desktop:~$

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-09-17 14:19
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
以下是引用StarWing83在2009-9-17 14:19的发言:

不好意思,ruby同样功能的程序貌似可以更短……
 

   晕了,版主怎么也这样哦,

   你把我的foreach, if都写在一行看看。。差不多吧,呵呵

2009-09-17 14:34
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
可是我没有用一行阿。ruby里面有stmt if expr这种语法,这个算一个语句的。否则就要写end,不方便。这是特性阿

不过就算分开写,这个代码的字节数比你的少是真的吧?(仅仅讨论语言特性而已)

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-09-17 14:41
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
以下是引用StarWing83在2009-9-17 14:41的发言:

可是我没有用一行阿。ruby里面有stmt if expr这种语法,这个算一个语句的。否则就要写end,不方便。这是特性阿
 
不过就算分开写,这个代码的字节数比你的少是真的吧?(仅仅讨论语言特性而已)
   
   说实话,没觉得呢。呵呵,只能说差不多,没觉得少多少。。

2009-09-17 14:44
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
程序代码:
#!/bin/bash
sed -r s/site:\(\.+\)\\sinurl:\(.+\)/\\1\\\\.*\\2/ig site_inurl >temp
while read line
do
grep $line url
done<temp
rm temp


本人不才,shell写了个。

ruby那种东西,玩玩可以,小日本发明的。

-BASH-4.0.23$ cat url
http://www.baidu.com/more/
http://www.baidu.com/guding/more.html
http://www.baidu.com/events/20060105/photomore.html
http://hi.baidu.com/browse/
http://hi.baidu.com/baidu/
http://www.
http://www.



-BASH-4.0.23$ cat site_inurl
site:www.baidu.com inurl:/more
site:zhidao.baidu.com inurl:/browse/
site:www. inurl:www20041223am


[ 本帖最后由 Devil_W 于 2009-9-17 15:24 编辑 ]
2009-09-17 15:22
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 24楼 限量版猪头
你的结果对吗?  你测试了没有?

我就是真命天子,顺我者生,逆我者死!
2009-09-17 15:46
cjl312969517
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-16
收藏
得分:0 
试一下···
2009-09-17 15:54
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 26楼 限量版猪头
http://www.baidu.com/events/20060105/photomore.html


photomore 这个你也会匹配掉

我就是真命天子,顺我者生,逆我者死!
2009-09-17 15:59
快速回复:非常适合初学者的题目三:百度的高级搜索方法(要求熟悉字符串的处理和 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041554 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved