如何删除文本文件的特定行?

时间:2016-12-10 16:27:16

标签: ruby

所以,我一直在高高兴兴地寻求解决方案,但是做得很短。所以,这是我的问题:

如何编写程序,从文本文件中删除特定行?

信息如下:

Lukas;11111111;x6 y8
John;22222222;x7 y10
Fred;44444444;x8 y15

信息基本上是姓名,电话号码和坐标。

我怎样才能从中删除Fred?

如果需要,我可以提供完整的代码。

1 个答案:

答案 0 :(得分:0)

解决方案很简单:

  1. 将文件读入数组
  2. 删除您想要的行
  3. 将内容写入文件(最好是新文件)

    #! /usr/bin/env ruby
    
    src='/tmp/data.src'
    dst='/tmp/data.new'
    
    content = File.readlines src
    content = content.grep_v /Fred;/
    File.open(dst,'w+') {|f| f.puts content}