我有一个大文件,它有超过100万行,还有另一个文件,它有我需要使用的输入字符串,以使大文件中的行匹配。
我就是这样做的:
File.open(strings_file, 'r') do |l|
File.open(large_file, 'r') do |line|
next if !line.include?(l)
puts line
end
end
但是,它将为每个循环打开大文件。例如,在输入字符串中,我有100行字符串,所以当它执行时,它将打开这个大文件100次来处理它,这需要更多的时间来完成。
是否有更快的方法来避免打开大文件10
我有点怀疑
首先:可以创建的文件流(可读流或可写流)的最大数量是否有限制?
Like a [...[readable, writable]] streams array of n files
第二:在操作系统中打开的最大文件数是否仅适用于在“打开”上使用流事件时?
Like in linux by default is 1024 per process
第三:这是否直接影响在“开放”同时事件上存在的最大流数?
Like 1024 simultaneous 'open' stream event per process
如果有人有关于它的信息,谢谢你分享它和你的时间,为任何错误
我意外地为远程计算机(运行linux的集群)上的一个巨大文件夹启动了一个删除进程,我通过命令"Connect to server“导航文件夹/通过Nautilus访问文件。在这台机器上我没有垃圾。我已经停止了删除进程后,1或2秒(红色按钮在窗口与进度栏),显然所有的文件仍然在那里。如何检查文件是否已损坏/部分删除?