Linux
刪除所有包含重複字母的行
我試圖找到關於這個主題的現有主題,但我找到了一些東西,但這不是我正在尋找的 100%,而且我最近幾天的網際網路連接很糟糕,所以我需要退出搜尋並發布一個新主題。 .
所以我的問題是我有一個包含多行(超過 50000 行)的 .txt 文件,每行有 5 個字母字元串,如下所示:
KKIUB SDCVG KJUTT NGTHH WWLEE XGHTP NJFRT PPSFF ZZZLP XDRFX JJJJJ KIEYW ...
我希望刪除文件中包含兩個(或更多)相同字母的所有行。重複的順序並不重要,因此必須刪除在一行中包含兩次字母的所有行。請注意,有時可能有 5 個相同的字母,有時 3 個相同的字母,有時只有 2 個相同的字母 + 彼此不接近,例如“GOHIG”。
KKIUB ---> delete SDCVG ---> stays KJUTT ---> delete NGTHH ---> delete WWLEE ---> delete XGHTP ---> stays NJFRT ---> stays PPSFF ---> delete ZZZLP ---> delete XDRFX ---> delete JJJJJ ---> delete KIEYW ---> stays
我正在嘗試使用
sed
功能,但無法獲得良好的結果。我也想將它導出到另一個 .txt 文件中。有什麼幫助嗎?
sed -e '/\(.\).*\1/d' yourfile > youroutputfile