从文件中删除行(包含特定子字符串)的最佳方法是什么?
我已经尝试将整个文件加载到一个切片中,修改该切片然后将其打印到一个文件中,效果很好,但是当我要对大文件(例如50GB +)执行此操作时,这将不起作用,因为我没有太多的记忆。
我认为这对于流来说是可能的,但是我没有弄清楚如何同时读写(因为我必须通过子字符串搜索该行,然后将其删除)。这是否有可能,还是我必须读取整个文件并保护索引?如果是这样,那么最好的方法是什么?
这将从标准输入读取并写入标准输出。请注意,我是根据reading file line by line in go的第二个答案中的代码改编的(未测试)。