Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 按行号搜索和替换部分文件_Ruby_Regex_File_Copy - Fatal编程技术网

Ruby 按行号搜索和替换部分文件

Ruby 按行号搜索和替换部分文件,ruby,regex,file,copy,Ruby,Regex,File,Copy,我想编写一个Ruby脚本,从一个文件中复制特定的代码行,然后将它们插入到另一个文件中。如果可能的话,我想,如果我在FILEY1中突出了一些行,复制它们,然后把我的光标放在Fiele2的中间,粘贴复制的代码(例如,在插入点下面的文件2中的代码将向下移动…)。 我以前写过脚本,将文件的全部内容插入到一个空文件中,但我只希望将一个文件中的某些行“复制并粘贴”到另一个文件的中间。是否可以按行号搜索文件?我的总体目标可能实现吗?提前感谢。使用索引尝试每个文件,如果可以将整个文件保存在内存中,脚本非常简单

我想编写一个Ruby脚本,从一个文件中复制特定的代码行,然后将它们插入到另一个文件中。如果可能的话,我想,如果我在FILEY1中突出了一些行,复制它们,然后把我的光标放在Fiele2的中间,粘贴复制的代码(例如,在插入点下面的文件2中的代码将向下移动…)。
我以前写过脚本,将文件的全部内容插入到一个空文件中,但我只希望将一个文件中的某些行“复制并粘贴”到另一个文件的中间。是否可以按行号搜索文件?我的总体目标可能实现吗?提前感谢。

使用索引尝试每个文件,如果可以将整个文件保存在内存中,脚本非常简单

IO.readlines("/etc/passwd").each_with_index do |line, line_num|
  if (line_num % 6 == 2)
    puts line 
  end
end
然后,您可以重定向到一个新文件或打开一个新文件,并使用

opened_file.puts line
如果你有行号列表,你也可以浏览一下:

lines = IO.readlines(file)
line_numbers.each do |i|
   puts lines[i]
end

只需使用split函数将文本转换为数组,即可按数字甚至范围选择行:

arraytext = filetext.Split("\n")
arraytext[0] #for first line

你的意思是说这是一个桌面应用程序吗?现在还不清楚你想要什么样的界面。它是一个方法,还是一个独立的应用程序,等等。?根据您的描述,我认为它应该是一个脚本,添加到文本编辑器中。因此,如果你使用的是emacs而不是Ruby,那么它应该用e-lisp编写。。。这正是我想要的…谢谢!