这是问题所在。
我有 20 个非常大的文件,每个大约 10gb,我需要按照 A)记录中的标准和 B)它是什么类型的大容量文件来拆分每个大容量文件。
例子。
每个批量文件代表一个职业。我们有律师、医生、教师和程序员。这些批量文件中的每一个都包含不同个人的数百万条记录,而不是很多个人,总共 40 个不同的人。
医生档案中的记录可能看起来像
XJOHN 1234567 LOREMIPSUMBLABLABLA789
我需要将文件中的这条记录输出到一个名为JOHN.DOCTOR.7
John 是人名,7 是数字序列中的最后一位,DOCTOR 是文件类型。我需要这样做以限制文件大小。目前,我正在使用 perl 逐行读取批量文件并将记录打印到适当的输出文件中。我正在为每条记录打开一个新的处理程序,以避免多个线程写入同一个处理程序并导致数据畸形。我确实有程序线程,每个批量文件一个线程。我无法安装任何第三方应用程序,假设我只有 RedHat Linux 的标准配置。我正在寻找具有更有效方式的 Linux 命令,或者可能是 perl 提供的更好方式。
谢谢!