1
我需要識別並從18 GB文件中刪除幾個100000 N(如字符N)。它們以長字符串形式出現。我想要使用的命令是:sed超過100000個字符
sed -r '/N{100000}/d' bigFile > newBigFile
我得到的錯誤是{是非法charcater。將數字減少到10000不會產生錯誤,並且過程運行得很好。
幫助表示讚賞。
我需要識別並從18 GB文件中刪除幾個100000 N(如字符N)。它們以長字符串形式出現。我想要使用的命令是:sed超過100000個字符
sed -r '/N{100000}/d' bigFile > newBigFile
我得到的錯誤是{是非法charcater。將數字減少到10000不會產生錯誤,並且過程運行得很好。
幫助表示讚賞。
我檢查的sed我的Fedora Linux系統,我已經發現,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
感謝您的幫助和+1乘法的簡單解決方法... – bertbrutzel