0
我有一個不同的行大文件。如何通過n過濾文件。模式後的字符串?
我很感興趣的線路,尋找相似:
lcl|NC_005966.1_gene_59 scaffold441.6 99.74 390 1 0 1 390 34065 34454 0.0 715
lcl|NC_005966.1_gene_59 scaffold2333.4 89.23 390 42 0 1 390 3114 2725 1e-138 488
lcl|NC_005966.1_gene_60 scaffold441.6 100.00 186 0 0 1 186 34528 34713 1e-95 344
現在我想要得到的模式後線「LCL | NC_」只是如果第三字(或第n個字線)小於100
(在這種情況下,前兩行,因爲他們剛剛得到99.74和89.23)
下一個號碼,他們應該被保存到一個新文件。
+1的做法,但你需要躲避「|」兩次,即'$ 1〜'^ lcl \\ | NC_「'而不是'$ 1〜'^ lcl | NC_」'。由於寫成'|'意思是「或」,因爲它是一個RE元字符,所以它匹配以lcl開頭或包含NC_的行,並且需要將其轉義兩次或使用'[|]',因爲它在字符串中並且被解析兩次由awk。其實 - 你應該使用/../而不是「..」:'$ 1〜/^lcl \ | NC_ /'來清楚說明你正在做一個RE比較並簡化一下。 –
非常感謝@EdMorton的改進!我沒有注意到我寫的條件不夠好。現在我測試了你的代碼,它就像一個魅力。剛剛更新了我的答案。 – fedorqui