我正在尝试使用sed在大型(30G)单行文件上执行简单的文字搜索/替换.
原文链接:https://www.f2er.com/bash/383521.html我希望这需要一些时间,但是,当我运行它时,它会在几秒后返回,当我查看生成的文件时,它的长度为零.
>输入文件有30G
$ls -lha Full-Text-Tokenized-Single-Line.txt -rw-rw-r-- 1 ubuntu ubuntu 30G Jun 9 19:51 Full-Text-Tokenized-Single-Line.txt
>运行命令:
$sed 's/<unk>/ /g' Full-Text-Tokenized-Single-Line.txt > Full-Text-Tokenized-Single-Line-No-unks.txt
$ls -lha Full-Text-Tokenized-Single-Line-No-unks.txt -rw-rw-r-- 1 ubuntu ubuntu 0 Jun 9 19:52 Full-Text-Tokenized-Single-Line-No-unks.txt
我尝试过的事情
>在较短的文件上运行相同的示例:工作
>使用-e修饰符:不起作用
>逃避“<”和“>”:不起作用
>使用简单的模式行(‘s / foo / bar / g’)代替:不起作用:返回零长度文件.
编辑(更多信息)
>返回码为0
> sed版本是(GNU sed)4.2.2