我需要从 18 GB 文件中识别并删除多次出现的 100000 N(如字符 N)。它们以长字符串出现。我要使用的命令是:
sed -r '/N{100000}/d' bigFile > newBigFile
我得到的错误是 { 是非法字符。将数字减少到 10000 不会产生任何错误,并且该过程运行得很好。
帮助表示赞赏。
我需要从 18 GB 文件中识别并删除多次出现的 100000 N(如字符 N)。它们以长字符串出现。我要使用的命令是:
sed -r '/N{100000}/d' bigFile > newBigFile
我得到的错误是 { 是非法字符。将数字减少到 10000 不会产生任何错误,并且该过程运行得很好。
帮助表示赞赏。
我在我的 fedora linux 上检查了 sed,发现 sed 的最大字符串长度为:2^15 - 1。因此,您可以编写最大长度为 N = 32767 的正则表达式
sed -r 's/N{32767}//g' bigFile > newBigFile
此外,您可以像这样乘以这个值(例如乘以 3):
sed -r 's/(NNN){32767}//g' bigFile > newBigFile
甚至,如果您的情况可以接受,您可以使用没有右边框的正则表达式规则:
sed -r 's/N{32767,}//g' bigFile > newBigFile