File 1: 1356775 lines
File 2: 9516 lines
文件2包含在文件1中匹配时应从该文件中删除的数字行。 例如:
档案1
34234323432 some useless stuff
23423432342 more useless stuff
98989898329 foo bar blah
65367389473 one two three
文件2
234234323
653673894
新文件
34234323432 some useless stuff
98989898329 foo bar blah
我现在的方法是
但是,由于文件太大,因此需要花费大量时间才能执行此操作,因为对于file1中的每一行,我们循环遍历整个数组(9516个元素)。是否有更简单的方法来执行此类文件操作,而无需将文件中的记录放入数据库表中。
答案 0 :(得分:1)
在哈希中读取file2,其中数字为键,值为“true”。哈希旨在快速查找 - much faster then arrays。
答案 1 :(得分:0)
你可以将File1块读入内存,避免大量阻塞IO。