我不能完全得到正則表達式我需要解決這個問題,所以要求SO嚮導幫助!sed正則表達式之間已知的字和未知的整數
考慮:
LOCUS NODE_96_length_17326_cov_8.76428_ID_1>17327 bp DNA linear
LOCUS NODE_97_length_17208_cov_6.56803_ID_1>17208 bp DNA linear
LOCUS NODE_98_length_17111_cov_6.60638_ID_1>17111 bp DNA linear
LOCUS NODE_99_length_17092_cov_6.7682_ID_19717092 bp DNA linear
LOCUS NODE_9_length_59921_cov_8.04963_ID_1759921 bp DNA linear
我需要更換和數字以相同字符串的結尾序列NODE
之間的字符串。數字前面的字符(例如第1行,17327
)可以顯示爲>
或_
。所以基本上我需要替換從NODE
直到包括最後的>
或_
的所有內容,或者匹配直到一個未知長度的多位整數。
盡我會設法到目前爲止是:
sed 's/\(NODE.*\)\(>|_\)/newstring/'
但我知道這是行不通的。
只是爲了讓它痛苦清楚,這將是所需的輸出。
LOCUS newstring 17327 bp DNA linear
LOCUS newstring 17208 bp DNA linear
LOCUS newstring 17111 bp DNA linear
LOCUS newstring 19717092 bp DNA linear
LOCUS newstring 1759921 bp DNA linear
我只是建議在行後面出現下劃線或尖括號的情況下,使用'[^ [:blank:]] *'而不是'。*'。 –
謝謝@glennjackman,非常好的建議。 – anubhava
非常感謝,我之前沒有遇到過空白,那麼在這種情況下,正則表達式究竟尋找什麼? –