【发布时间】:2018-09-22 06:55:49
【问题描述】:
我想从特定点删除字符,直到第一个空格之前(不删除空格本身)。比如我的file.txt如下:-
>DN256845_c2_g1_i1 len=56274 ACGGAGG
>DN256532_c0_g2_i19 len=23973 AATACTC
>DN256979_c8_g3_i32 len=16728 CGAAACT
'X' 是诸如 1 或 19 或 32 之类的数字,我希望它是:-
>DN256845_c2_g1 len=56274 ACGGAGG
>DN256532_c0_g2 len=23973 AATACTC
>DN256979_c8_g3 len=16728 CGAAACT
我曾使用过sed 's/_i.*//',但它删除了_i 之后的所有内容。我尝试过的其他代码是sed 's/_i.*\./\ /g',
sed -E 's/_i.*+[^[: :]]//g' 最终没有任何改变。
如何使用 sed/awk 或任何其他方法解决此问题?我很感激帮助。谢谢!
编辑:根据 Sundeep 的建议,我编辑了问题以便于理解。这些数据实际上是 Trinity 成绩单标识符。我需要删除标识符(_i1 等)以进行一些分析)。
【问题讨论】: