用ruby读写文本文件

用ruby读写文本文件的简单例子,除了演示文本文件的读写外,这段ruby程序可以从文本文件中删除包含某些字符串的行。
用法:ruby delline.rb 文件名 字符串1 字符串2 字符串n
将删除同时包含字符串1 字符串2 字符串n的行。
ruby的开发环境这里下载
http://www.ruby-lang.org/en/downloads/
直接下载最近的稳定版Windows安装包
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe

代码如下
下载: delline.rb
  1. if ARGV.length<2 then
  2.   puts "USAGE: ruby delline.rb text_file_name str1 [str2 ...]"
  3.   exit
  4. end
  5.  
  6. i_file_name = ARGV[0]
  7. i_file_name_bak = i_file_name +".bak"
  8. if FileTest.exist?(i_file_name) then
  9.   File.rename(i_file_name, i_file_name_bak)
  10. else
  11.   puts "File #{i_file_name} was not found"
  12.   exit
  13. end
  14.  
  15. i_file = File.new(i_file_name_bak, "r")
  16. o_file = File.new(i_file_name, "w")
  17.  
  18. i_file.each_line do |line|
  19.   delete_flag = true
  20.   1.upto(ARGV.length - 1) do |x|
  21.     if !line.include?(ARGV[x]) then
  22.       delete_flag = false
  23.       break
  24.     end
  25.   end
  26.   o_file.puts line if !delete_flag
  27. end
  28.  
  29. i_file.close
  30. o_file.close
标签: Ruby
评论: 0 | 引用: 0 | 阅读: 613
发表评论
昵 称: (必须)
密 码: (未注册用户可不填)
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容: