我有一连串的网址,没有分隔符,格式如下:
http://example.comhttp://example.nethttp://example.orghttp://etc...
我希望每个URL都换一行。我试图通过使用sed将“ http://”的所有实例替换为“ \ nhttp://”来做到这一点
sed 's_http://_\nhttp://_g' urls.txt
但是发生分段错误(内存冲突)。我只能推测文件的绝对大小(超过100GB)导致sed超过了一些限制。
我可以将文件分成几个较小的文件进行处理,但是“ http://”的所有实例都需要保持完整。
有一个更好的方法吗?
我认为sed不喜欢没有行尾的100GB,因为它试图读取其缓冲区中的一行。
—
jippie 2012年
拆分(无论切割发生在“何处”),进行处理,然后重新组装都应给出正确的结果。
—
enzotib 2012年
如果确实有一个100GB的文本文件包含一个长行,那么最好编写一个快速的C程序来完成工作。
—
fpmurphy