【发布时间】:2016-08-18 05:48:25
【问题描述】:
我有一个名为 uniq.txt 的文件(20,000 行)。
head uniq.txt
1
103
10357
1124
1126
我还有一个名为 all.txt 的文件(106,371,111 行)
head all.txt
cg0001 ? 1 -0.394991215660192
cg0001 AB 103 -0.502535661820095
cg0002 A 10357 -0.563632386999913
cg0003 ? 1 -0.394991215660444
cg0004 ? 1 -0.502535661820095
cg0004 A 10357 -0.563632386999913
cg0003 AB 103 -0.64926706504459
我想从 all.txt 创建新的 20,000 个文件,以匹配 uniq.txt 的每个行模式。例如,
head 1.newfile.txt
cg0001 ? 1 -0.394991215660192
cg0003 ? 1 -0.394991215660444
cg0004 ? 1 -0.502535661820095
head 103.newfile.txt
cg0001 AB 103 -0.502535661820095
cg0003 AB 103 -0.64926706504459
head 10357.newfile.txt
cg0002 A 10357 -0.563632386999913
cg0004 A 10357 -0.563632386999913
有什么方法可以真正快速地制作新的 20,000 个文件? 我当前的脚本需要 1 分钟来制作一个新文件。我猜它每次创建新文件时都会扫描 all.txt 文件。
【问题讨论】:
-
为什么还需要
uniq.txt?看来您可以仅从all.txt... 生成文件... -
有什么方法可以快速从 all.txt 生成新文件?能否请你帮忙?我是初学者>,
-
如果我的数学计算正确,那么它应该需要超过 333 小时 20 分钟。
标签: linux bash file scripting makefile