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

亚历克斯·史马科(Alex Shmatko)

假设我有一个input.txt文件,其中包含以下文本:

First line
Second line
Third line
Fourth line

例如,我想删除第二行和第四行以获取此信息:

First line
Third line

到目前为止,我已经成功使用此代码删除了第二行

require 'fileutils'

File.open('output.txt', 'w') do |out_file|
  File.foreach('input.txt') do |line|
     out_file.puts line unless line =~ /Second/
  end
end

FileUtils.mv('output.txt', 'input.txt')

在Ruby中删除文本文件中多行的正确方法是什么?

迈克尔·加斯基尔

在一般情况下,从文本文件中干净有效地删除行是“困难的”,但是如果可以在某种程度上限制问题的话,这可能很简单。

以下是来自SO的一些问题,它们提出了类似的问题:

还有很多其他的。

就您而言,如果您的输入文件相对较小,则可以轻松负担使用所用方法的负担。确实,唯一需要更改以符合您的条件的就是将输入文件循环和条件修改为此:

File.open('output.txt', 'w') do |out_file|
  File.foreach('input.txt').with_index do |line,line_number|
     out_file.puts line if line_number.even?  # <== line numbers start at 0
  end
end

with_index所做的更改是使用方法来捕获行号,由于可以在没有块的情况下File#foreach返回一个Enumeratorwhen ,因此可以使用该方法现在with_index该块适用于,并获得行号作为第二个块参数。只需在比较中使用行号即可为您指定条件。

即使对于较大的文件,此方法也可以扩展,而将整个文件读入内存的解决方案对文件大小的上限非常低。使用此解决方案,您会受到可用磁盘空间和读取/写入文件速度的限制。例如,对空间有限的在线存储执行此操作可能无法达到您想要的效果。假设您有可用空间,则写入本地磁盘或拇指驱动器应该完全没有问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

如何从文本文件中删除特定行?

来自分类Dev

在同时对文本文件进行某些操作之后,如何删除该文本文件中的特定行

来自分类Dev

从R中的文本文件中删除特定行

来自分类Dev

从文本文件中删除特定行

来自分类Dev

删除文本文件中包含特定字符的行

来自分类Dev

如何通过输入文件从具有特定值的文本文件中删除行?

来自分类Dev

如何从文本文件中删除特定范围的字符?

来自分类Dev

如何删除文本文件中的特定段落?

来自分类Dev

如何在Delphi中从文本文件中删除特定行

来自分类Dev

如何在C ++中删除文本文件中的特定行

来自分类Dev

如何从Python中的文本文件中删除行?

来自分类Dev

如何从文本文件的行中删除特定单词?

来自分类Dev

如何通过终端从文本文件中删除包含特定单词的行?

来自分类Dev

如何从文本文件的行中删除特定单词?

来自分类Dev

如何通过终端从文本文件中删除包含特定单词的行?

来自分类Dev

如何使用用户输入 Python 3 删除文本文件中的特定行

来自分类Dev

如何从Powershell中的文本文件删除行?

来自分类Dev

如何删除文本文件中的重复行?

来自分类Dev

如何在文本文件中添加/删除行?

来自分类Dev

如何从文本文件中删除一行?

来自分类Dev

如何从文本文件中删除仅数字行?

来自分类Dev

删除文本文件中的行

来自分类Dev

如何从文本文件中获取特定行?

来自分类Dev

如何提取文本文件中的特定行

来自分类Dev

如何更改文本文件中的特定行

来自分类Dev

如何从文本文件中检索随机行,然后在PHP中从文本文件中删除该行

来自分类Dev

如何删除或跳过文本文件中的行列表并在新文本文件中打印剩余的行?

来自分类Dev

shell命令删除文本文件中的行,并在行中包含特定文本

Related 相关文章

  1. 1

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

  2. 2

    如何从文本文件中删除特定行?

  3. 3

    在同时对文本文件进行某些操作之后,如何删除该文本文件中的特定行

  4. 4

    从R中的文本文件中删除特定行

  5. 5

    从文本文件中删除特定行

  6. 6

    删除文本文件中包含特定字符的行

  7. 7

    如何通过输入文件从具有特定值的文本文件中删除行?

  8. 8

    如何从文本文件中删除特定范围的字符?

  9. 9

    如何删除文本文件中的特定段落?

  10. 10

    如何在Delphi中从文本文件中删除特定行

  11. 11

    如何在C ++中删除文本文件中的特定行

  12. 12

    如何从Python中的文本文件中删除行?

  13. 13

    如何从文本文件的行中删除特定单词?

  14. 14

    如何通过终端从文本文件中删除包含特定单词的行?

  15. 15

    如何从文本文件的行中删除特定单词?

  16. 16

    如何通过终端从文本文件中删除包含特定单词的行?

  17. 17

    如何使用用户输入 Python 3 删除文本文件中的特定行

  18. 18

    如何从Powershell中的文本文件删除行?

  19. 19

    如何删除文本文件中的重复行?

  20. 20

    如何在文本文件中添加/删除行?

  21. 21

    如何从文本文件中删除一行?

  22. 22

    如何从文本文件中删除仅数字行?

  23. 23

    删除文本文件中的行

  24. 24

    如何从文本文件中获取特定行?

  25. 25

    如何提取文本文件中的特定行

  26. 26

    如何更改文本文件中的特定行

  27. 27

    如何从文本文件中检索随机行,然后在PHP中从文本文件中删除该行

  28. 28

    如何删除或跳过文本文件中的行列表并在新文本文件中打印剩余的行?

  29. 29

    shell命令删除文本文件中的行,并在行中包含特定文本

热门标签

归档