- 浏览: 431066 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lkun__blog:
网页打不开啊
博客搬家到http://cuiz.me -
bglmmz:
楼主怎么解决的?我用python调用ice服务,也出现此问题, ...
syscall exception: 存储空间不足,无法处理此命令 -
luliangy:
哥,你什么配置,我10W个请求10秒左右就搞定了,毫无压力,R ...
Nginx和Apache简单的并发压力测试 -
liuxuejin:
这!看的我都···········。我看代码而已。怎么
EPOLL及消息队列实现SMTP 之 青楼的故事 -
zires:
night_stalker 写道unicorn 也很好维护啊, ...
Unicorn和Passenger性能测试对比
- 批量替换 指定目录及其子目录中所有文件内的字符串
#!/usr/bin/env ruby class File class << self def gsub!(s,t,dir=Dir.pwd) Dir.entries(dir).each do |f| puts f next if(f == "." || f == "..") if(File.file? f) then ct = IO.readlines(f).join if ct.index(s) then puts "replace file <#{f}>." ct.gsub!(s,t) File.open(f,"w+"){|ff|ff.write ct} end elsif(File.directory? f) then self.gsub!(s,t,File.join(dir,f)) end end end #end of << end end
使用的时候:
File.gsub!("reg","--reg--",Dir.pwd)
就可以了.
- 批量删除指定目录及子目录下含有某个扩展名的文件
#!/usr/bin/env ruby class File class << self def grm(path,ext) Dir.entries(path).each do |f| next if (File.basename(f) == '.' || File.basename(f) == '..') if File.directory?(File.join(path,f)) grm(File.join(path,f),ext) elsif f != File.basename(f).chomp(ext) puts File.join(path,f) FileUtils.rm_f(File.join(path,f)) end end end #end of << end end
File.grm("C:\\scripts",'log')
可以删除scripts下面及该目录的子目录下面所有log文件.
- 获得本机IP
class Socket class << self def ips Socket.getaddrinfo(Socket.gethostname, nil) end end endSocket.ips可以获得本机的IP列表数组.
评论
15 楼
icefishc
2010-08-06
用Find.find会更省事些
14 楼
night_stalker
2010-08-06
囧.. 镐头书里第 10 章就有啊!
另外熟悉 shell 脚本的人就会觉得 $* 很自然…… 你们每天用的 linux 里头就有一大堆的黑魔
另外熟悉 shell 脚本的人就会觉得 $* 很自然…… 你们每天用的 linux 里头就有一大堆的黑魔
13 楼
icefishc
2010-08-06
CharlesCui 写道
sword0607 写道
同感,我觉得使用ARGV[0], ARGV[1]会不会让代码的可读性更好一些
我更好奇的是NS或者那些Ruby的黑魔法师们,是如何学到这些黑魔法的,
这东西也不算偏吧. 用了这个不至于影响可读性
至于那个 % 要算基本功能了吧。 既不是ruby特有也不是不常用
12 楼
CharlesCui
2010-08-06
sword0607 写道
同感,我觉得使用ARGV[0], ARGV[1]会不会让代码的可读性更好一些
我更好奇的是NS或者那些Ruby的黑魔法师们,是如何学到这些黑魔法的,
可能怪我对Ruby了解不深,我只是用用而已,不够深入,惭愧惭愧.
不过如果谈到项目开发,我们更应该关注于:
- 架构设计是否合理,
- 代码的健壮性及运行效率,
- 以及代码的可维护性.
这些对企业开发很有帮助的特性和那些黑魔法没有直接关系.
这也让人看到了Ruby虽然好看,但还不足以挑起企业开发主力语言的大梁.
可能是因为大家用Ruby的时候更喜欢把它玩的花哨些,而不是关注于解决全局线程锁,以及解析器运行效率等更具有挑战性的问题吧.
11 楼
sword0607
2010-08-06
CharlesCui 写道
jinleileiking 写道
night_stalker 写道
可以写点神秘的 one-liner ..
1 some-dir str-to-find str-to-replace
ruby -rfileutils 2.rb some-dir ext-to-remove
1 some-dir str-to-find str-to-replace
Dir.glob("%s/**/*"% $*){|f|s=IO.read(f).gsub($*[1],$*[2]);File.open(f,'w')<<s}
ruby -rfileutils 2.rb some-dir ext-to-remove
FileUtils.rm_f Dir.glob("%s/**/*.%s"%$*)
那个%是干什么的....
格式化字符串,都是ruby里面隐藏的很深的细节,不过这些黑魔法太花哨了,让人花费大量的脑细胞去记忆.
同感,我觉得使用ARGV[0], ARGV[1]会不会让代码的可读性更好一些
10 楼
CharlesCui
2010-08-06
jinleileiking 写道
night_stalker 写道
可以写点神秘的 one-liner ..
1 some-dir str-to-find str-to-replace
ruby -rfileutils 2.rb some-dir ext-to-remove
1 some-dir str-to-find str-to-replace
Dir.glob("%s/**/*"% $*){|f|s=IO.read(f).gsub($*[1],$*[2]);File.open(f,'w')<<s}
ruby -rfileutils 2.rb some-dir ext-to-remove
FileUtils.rm_f Dir.glob("%s/**/*.%s"%$*)
那个%是干什么的....
格式化字符串,都是ruby里面隐藏的很深的细节,不过这些黑魔法太花哨了,让人花费大量的脑细胞去记忆.
9 楼
jinleileiking
2010-08-06
night_stalker 写道
可以写点神秘的 one-liner ..
1 some-dir str-to-find str-to-replace
ruby -rfileutils 2.rb some-dir ext-to-remove
1 some-dir str-to-find str-to-replace
Dir.glob("%s/**/*"% $*){|f|s=IO.read(f).gsub($*[1],$*[2]);File.open(f,'w')<<s}
ruby -rfileutils 2.rb some-dir ext-to-remove
FileUtils.rm_f Dir.glob("%s/**/*.%s"%$*)
那个%是干什么的....
8 楼
CharlesCui
2010-08-06
night_stalker 写道
可以写点神秘的 one-liner ..
1 some-dir str-to-find str-to-replace
ruby -rfileutils 2.rb some-dir ext-to-remove
1 some-dir str-to-find str-to-replace
Dir.glob("%s/**/*"% $*){|f|s=IO.read(f).gsub($*[1],$*[2]);File.open(f,'w')<<s}
ruby -rfileutils 2.rb some-dir ext-to-remove
FileUtils.rm_f Dir.glob("%s/**/*.%s"%$*)
喜欢NS的风格,无论自己写文章还是回复别人的帖子,都能抛出点让人眼睛一亮的东西.
这个论坛该多一点NS一样的同学.
7 楼
night_stalker
2010-08-06
可以写点神秘的 one-liner ..
1 some-dir str-to-find str-to-replace
ruby -rfileutils 2.rb some-dir ext-to-remove
1 some-dir str-to-find str-to-replace
Dir.glob("%s/**/*"% $*){|f|s=IO.read(f).gsub($*[1],$*[2]);File.open(f,'w')<<s}
ruby -rfileutils 2.rb some-dir ext-to-remove
FileUtils.rm_f Dir.glob("%s/**/*.%s"%$*)
6 楼
CharlesCui
2010-08-06
qichunren 写道
我支持你。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。
对,写错了,是个递归,改名的时候改错了
5 楼
CharlesCui
2010-08-06
Readonly 写道
这种事情用ruby属于杀鸡用牛刀:
1.
2. 请按1依葫芦画瓢
1.
find 'yourpath' -type f -iname '*.html' -exec sed -i 's/regexp/replacement/g' '{}' \;
2. 请按1依葫芦画瓢
您老也出来遛弯了?
我干那个事情是在windows上面,没装cygwin,请教该怎么做.
4 楼
jinleileiking
2010-08-06
其实... ruby也可以写成像Readonly一样的吧..
只不过...xxxxxxxxx
话说...这个应该大家投票的原因嘛。。。你懂的。。。
我那个jruby聊天工具,某人还想投隐藏呢...
只不过...xxxxxxxxx
话说...这个应该大家投票的原因嘛。。。你懂的。。。
我那个jruby聊天工具,某人还想投隐藏呢...
3 楼
Readonly
2010-08-06
这种事情用ruby属于杀鸡用牛刀:
1.
2. 请按1依葫芦画瓢
1.
find 'yourpath' -type f -iname '*.html' -exec sed -i 's/regexp/replacement/g' '{}' \;
2. 请按1依葫芦画瓢
2 楼
qichunren
2010-08-06
我支持你。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。
1 楼
CharlesCui
2010-08-06
擦,这还新手贴?什么不新手?
我写出来给大家分享下这些很有价值的工具,你们有人不满意?
什么装12+1的人啊.
东西是简单的,但你有积累么?
这些东西大家Copy过去就可以用了,方便就是最大的价值所在.
谁给的新手贴,真BC!
我写出来给大家分享下这些很有价值的工具,你们有人不满意?
什么装12+1的人啊.
东西是简单的,但你有积累么?
这些东西大家Copy过去就可以用了,方便就是最大的价值所在.
谁给的新手贴,真BC!
发表评论
-
N度空间关系图
2011-05-11 17:22 1604计算机 ... -
Rails3和Rack依赖关系图
2011-05-11 17:17 0找到一个好的画图工具不容易啊,试试这个 -
Unicorn和Passenger性能测试对比
2011-05-03 13:04 4357测试工具:ab 测试 ... -
libsmtp--库的一个bug
2011-02-18 17:09 1886http://libsmtp.sourceforge.net/ ... -
从main.c开始走进Ruby-异常
2010-08-26 18:21 1191这一阵子真没时间,9月上旬更没时间,头大. 前天写面试题目的 ... -
从main.c开始走进Ruby-有形亦无形的数据
2010-08-20 00:32 2313上一篇文章我们找到了如何调试Ruby的入口,只要走进去, ... -
从main.c开始走进Ruby-登上调试Ruby之旅
2010-08-18 12:11 1302我想更深入的了解Ruby内 ... -
关键字和预定义变量:__END__和DATA的问题
2010-05-13 10:07 1329两个文件,a.rb和b.rb 当a.r ... -
[J]Ruby自编译安装
2010-02-24 11:37 1351#直接Copy并粘贴到控制台 #安装Ruby1.9.1- ... -
libvirt和ruby-libvirt在Macos系统上安装失败解决方法
2010-01-22 17:31 1195附件中是补丁及安装脚本, 安装前先看下install那个脚本 ... -
【GUI】LoadRunner的Controller定时执行
2010-01-19 14:38 3730玩玩的,很好玩不是么,工作就是要好玩,否则还工作个屁啊。 ... -
将QC的COM接口开放成Rest服务[续]
2010-01-14 11:53 1552利用QC的开放架构平台的COM组建, 给HP的QC写一个Met ... -
Ruby的ActiveRecord1.9个小时能够插入1000万mysql数据
2009-12-29 15:38 950rtrtrt -
TextMate中Command+R无法执行的变通解决方法
2009-12-28 12:08 2762如果你在升级了雪豹并且设定为64位启动模式后, TM无法通过C ... -
批量更改主机密码
2009-12-22 17:00 804require "rubygems" r ... -
将QC的COM接口开放成Rest服务
2009-11-16 17:05 2433以Ruby代码为例, QC平台的SDK以COM组件的形式对 ... -
虚拟机!
2009-11-12 16:25 845ruby-libvirt ============ Ruby ... -
Swig编译C/C++代码给Ruby [on Mac]
2009-10-12 15:01 2143charlesdemacbook-pro:swig Cui$ ... -
让一个类include一个模块的几种方法
2009-09-22 10:59 828module Test module ClassMeth ... -
ruby中当前系统分隔符
2009-09-08 15:28 819$/
相关推荐
3. **易于集成**:Vue-YDUI是基于Vue.js构建的,因此与Vue生态系统兼容良好,可以轻松地与Vuex、Vue Router等工具结合使用。 4. **模块化**:Vue-YDUI采用模块化的组件结构,开发者可以根据项目需求选择性引入所需...
总结,LeetCode题库是程序员提升技术能力的重要工具,而"DayLearnNote"学习法提供了一种系统性的学习路径。通过每日学习、笔记整理、社区分享,我们可以不断提升自己的编程技巧,为面试和工作做好充分准备。在实践中...
要把摘记在笔记本里的内容搬进头脑这个“贮存库”里,这就必须经常翻阅笔记本,熟读所记内容直到背诵,这样日积月累头脑里的东西越来越多,到了写作的时候,要什么有什么,信手拈来,自然就得心应手了。 ... 三、...
- "日积月累":积累特殊指令的用法,扩展学生的知识库。 - "巩固和提高":定期回顾和复习所学,确保对指令的掌握程度。 此外,书中还提到了一些硬件平台的应用,如使用深圳奥特森科技的传感器板,结合Scratch软件...
在这个项目中,开发者利用Java的特性与强大的开源库,构建了一个支持多用户、多设备同步的云笔记系统。 首先,我们可以从描述中了解到,该项目包括了需求文档和每日的代码更新,这表明它是一个持续进行的开发过程,...
这种“打完下线”的描述,暗示了用户以完成一定的题目为目标,通过日积月累,不断深化对编程解决问题的能力。 "系统开源"这一标签则揭示了项目可能包含开源代码或工具,这使得其他开发者可以查看、学习甚至参与到这...
小组讨论的方式让学生分享各自的阅读经验,相互学习,取长补短,这样不仅能够加深学生对阅读材料的理解,还能够培养他们的合作精神和沟通能力。 识字加油站板块则是对学生识字能力的巩固和提升。通过复习查字典技能...
总的来说,"keep-leetcode"项目提供了一个系统化的算法学习路径,借助JavaScript这一强大工具,让开发者在实战中提升技能。参与这个项目,不仅可以提升个人技术能力,还可以培养良好的学习习惯,预防技能退化,保持...
成语作为中华文化的重要组成部分,不仅是语言表达的重要工具,更是文化的载体。通过朗读和背诵成语,学生不仅能够积累词汇,还能够在实际的语言环境中运用成语,从而加深对语言的理解和感受。同时,对于成语的分类...
7. **学习社区**:AtCoder拥有活跃的社区,用户可以分享解题思路,讨论算法,互相学习。参与讨论和查看别人的解决方案是提升自己的好途径。 通过持续在AtCoder上的实践,Python程序员不仅可以提高编程技能,还能...
同时,Python丰富的库资源如NumPy(科学计算)、Pandas(数据分析)、Matplotlib(数据可视化)等也是提升问题解决能力的重要工具。 五、实战项目 理论结合实践是学习的最佳方式。尝试参与开源项目、解决实际问题...
对于想要深入学习JavaScript并希望提升算法能力的开发者来说,LeetCode无疑是一个极好的资源库。 LeetCode的挑战涵盖了从基础到高级的各种算法问题,这些问题通常分为几个难度等级:简单、中等和困难。通过定期刷题...