我需要从18 GB文件中识别并删除多次出现的100000 N(如字符N)。它们以长串发生。我想要使用的命令是:
sed -r '/N{100000}/d' bigFile > newBigFile
我得到的错误是{是一个非法的charcater。将数字减少到10000不会产生错误,并且该过程运行正常。
非常感谢帮助。
答案 0 :(得分:1)
我已经检查了我的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