8
在大文件中替换包含换行符的字符串
有谁知道基于非行的工具以某种内存有效的方式“二进制”搜索/替换字符串?也看到这个问题。 我有一个+ 2GB的文本文件,我想对其进行处理,类似于此操作: sed -e 's/>\n/>/g' 这意味着,我想删除a之后出现的所有换行符>,但不能在其他地方删除,以便排除tr -d。 此命令(我从类似问题的答案中得到)失败,并带有couldn't re-allocate memory: sed --unbuffered ':a;N;$!ba;s/>\n/>/g' 那么,还有其他方法不求助于C吗?我讨厌perl,但愿意在这种情况下例外:-) 我不确定数据中是否会出现任何字符,因此\n,如果可能的话,我想避免用另一个字符临时替换。 有什么好主意吗?