如何刪除行中的其他行的子行,同時保留包含它們的較長字符串?刪除其他行的子字符串的行
我有一個包含肽序列作爲字符串的文件 - 每行一個序列字符串。我想保留包含所有序列的字符串,並刪除文件中其他行的子字符串的所有行。
輸入:
GSAAQQYW
ATFYGGSDASGT
GSAAQQYWTPANATFYGGSDASGT
GSAAQQYWTPANATF
ATFYGGSDASGT
NYARTTCRRTG
IVPVNYARTTCRRTGGIRFTITGHDYFDN
RFTITGHDYFDN
IVPVNYARTTCRRTG
ARTTCRRTGGIRFTITG
期望輸出:
GSAAQQYWTPANATFYGGSDASGT
IVPVNYARTTCRRTGGIRFTITGHDYFDN
輸出應該只保留最長的字符串,刪除這是最長的字符串的子行。因此,在上面的輸入中,行1,2,4和5是行3的子字符串,因此輸出保留行3.類似地,行6,8,9和10上的行都是行7的子行,因此行7被保留並寫入輸出。
什麼是「長「? 「兩個最長」? –
啊,你想刪除任何字符串是另一個字符串的子字符串嗎?你到目前爲止嘗試過什麼? –
https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#index-index_0028_0029-function – user3159253