我有一个非常大的文本文件,其中包含大约 200M 制表符分隔的记录。我需要过滤这个文件(还有 30 个类似的文件)并将文件中的第 10 列与包含大约 2000 个元素的字符串数组匹配。所需的输出仅是那些包含第 10 个字段中的数组值之一的行。
示例:假设文件包含以下记录(以 csv 为例),
10, 100, 30
20, 100, 10
20, 20, 20
10, 100, 20
10, 0, 100
数组 = (100, 0)
比较第 2 列(而不是第 10 列),输出应该是,
10, 100, 30
20, 100, 10
10, 100, 20
10, 0, 100
我尝试编写一个简单的 perl 脚本来逐行读取文件,按制表符拆分并在数组中运行 for 循环以将第 10 列与数组中的每个元素进行比较。这需要非常长的时间。
寻找更智能/更快的方法来做到这一点。