【发布时间】:2018-11-08 21:32:29
【问题描述】:
假设我有一个巨大的文本文件,如下所示:
19990231
blabla
sssssssssssss
hhhhhhhhhhhhhh
ggggggggggggggg
20090812
blbclg
hhhhhhhhhhhhhh
ggggggggggggggg
hhhhhhhhhhhhhhh
20010221
fgghgg
sssssssssssss
hhhhhhhhhhhhhhh
ggggggggggggggg
<etc>
如何随机删除 100 个以数字字符开头并以空行结尾的块?例如:
20090812
blbclg
hhhhhhhhhhhhhh
ggggggggggggggg
hhhhhhhhhhhhhhh
<blank line>
【问题讨论】:
-
欢迎来到 SO,您的问题不清楚,请将您的示例输入和示例输出包装到代码标签
{}按钮中,然后告诉我们。 -
您不能从文件中删除材料;您必须将其读入,并将选定的部分写回新文件。首先编写一个简单复制的程序;然后添加跳过某些部分的逻辑。
-
为什么你有
python和awk这两个标签? -
好的。如果您可以将整个文件读入内存,这很容易做到。但是,如果您不想这样做,则需要对文件进行两次传递。在第一次通过时,您计算块,在第二次通过时,您将想要的块复制到一个新文件中。当然,如果您可以提供块数作为输入参数,则可以一次性完成。
-
@jww 再次对所有答案投了反对票,所以我再次对所有答案投了赞成票。