锁定老帖子 主题:日积月累-分享我的工具库
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-08-04
最后修改:2010-08-11
#!/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文件.
class Socket class << self def ips Socket.getaddrinfo(Socket.gethostname, nil) end end endSocket.ips可以获得本机的IP列表数组. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-06
擦,这还新手贴?什么不新手?
我写出来给大家分享下这些很有价值的工具,你们有人不满意? 什么装12+1的人啊. 东西是简单的,但你有积累么? 这些东西大家Copy过去就可以用了,方便就是最大的价值所在. 谁给的新手贴,真BC! |
|
返回顶楼 | |
发表时间:2010-08-06
我支持你。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。 |
|
返回顶楼 | |
发表时间:2010-08-06
最后修改:2010-08-06
这种事情用ruby属于杀鸡用牛刀:
1. find 'yourpath' -type f -iname '*.html' -exec sed -i 's/regexp/replacement/g' '{}' \; 2. 请按1依葫芦画瓢 |
|
返回顶楼 | |
发表时间:2010-08-06
其实... ruby也可以写成像Readonly一样的吧..
只不过...xxxxxxxxx 话说...这个应该大家投票的原因嘛。。。你懂的。。。 我那个jruby聊天工具,某人还想投隐藏呢... |
|
返回顶楼 | |
发表时间:2010-08-06
Readonly 写道 这种事情用ruby属于杀鸡用牛刀:
1. find 'yourpath' -type f -iname '*.html' -exec sed -i 's/regexp/replacement/g' '{}' \; 2. 请按1依葫芦画瓢 您老也出来遛弯了? 我干那个事情是在windows上面,没装cygwin,请教该怎么做. |
|
返回顶楼 | |
发表时间:2010-08-06
qichunren 写道 我支持你。
另外,你第二个脚本中第12行应该是调用grm这个方法吧。 对,写错了,是个递归,改名的时候改错了 |
|
返回顶楼 | |
发表时间:2010-08-06
最后修改:2010-08-06
可以写点神秘的 one-liner ..
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"%$*) |
|
返回顶楼 | |
发表时间:2010-08-06
night_stalker 写道 可以写点神秘的 one-liner ..
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一样的同学. |
|
返回顶楼 | |
发表时间:2010-08-06
night_stalker 写道 可以写点神秘的 one-liner ..
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"%$*) 那个%是干什么的.... |
|
返回顶楼 | |