Linux

查找和刪除重複記錄

  • August 16, 2022

我想找到相同字元重複的重複記錄 例如,我要查找的模式是 ‘AA’ 或 ‘AAAAA’ 我嘗試使用 grep 命令來查找它。But it doesn’t work well Here is the example that I tried, ATCTAGCGATCGATAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAG TATCTATCTATCTATCTCATACTTCGCATCGCTAGCTCGACTGCATAGGACTAGCATAAAAAGCATCAGCTACCGCCTCAGCATCGACTACGATACG TAGTCGATCGACAGCTACGCATGCATCCGACTACGATCGACTAGCTAGCGCTAGACTACGTACCGATAAGCACTACGTCAGCCTAGACTCACGACT GATCGATCGATCGACTACGCAGCTACGAGATCGATCGATCGATCGTAGCTAGCTCATACTACACACGCATATACGTGTCGATgctAGTAACTACAT ACGCTAGCTAGCTACGATCAATCGAGCTATCGATCAGCTACGATCTAGAGATCGATCGATGCTGATAGCTACGATCagcactgatGCATCGCTGAT

這個問題有點不清楚。假設您要查找由相同核酸組成的所有子串 2 次或更多次,sed 可以提供幫助:

sed -r 's:([ACGTacgt])\1+:\n>&\n:g;s:^[^>]+$::mg;s:\n+>?:\n:g' INPUT

輸出:

TT
GG
AAAAA
CC
CC
CC
CC
AA
CC
AA
AA

對於特定的核酸,例如[Aa],在腳本的開頭使用。

引用自:https://unix.stackexchange.com/questions/713755