gpt4 book ai didi

linux - 如何去掉某列中的下划线以及下划线后面的数字?

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:18 26 4
gpt4 key购买 nike

为了匹配另一个文件,我需要删除第一列中的所有下划线和下划线后面的数字。

我使用了sed工具,我确实删除了第一列中下划线字符串后面的下划线和字符串,但是我删除了所有后面的其他列,我想保留其他列(每列用制表符分隔)。我是一个刚刚入门的新人。希望有人能告诉我怎么做,谢谢。

需要处理的文本文件如下:(test.txt)

ENST00000515896.1   0.177145    0.356609
ENST00000425026.1_1 0.024620 0.049561
ENST00000286448.11_1_PAR_Y 8.465151 17.041147
ENST00000479687.6_1_PAR_Y 0.002051 0.004128

尝试使用sed:

$ sed 's/_.\+//g' test.txt 

预期结果:

ENST00000515896.1   0.177145    0.356609
ENST00000425026.1 0.024620 0.049561
ENST00000286448.11 8.465151 17.041147
ENST00000479687.6 0.002051 0.004128

实际结果:

ENST00000515896.1   0.177145    0.356609
ENST00000425026.1
ENST00000286448.11
ENST00000479687.6

最佳答案

您可以通过简单的 sed 替换来完成修剪 '_' 以及下一个空格后面的剩余内容,例如

$ sed 's/_[^ \t]*//' test.txt
ENST00000515896.1 0.177145 0.356609
ENST00000425026.1 0.024620 0.049561
ENST00000286448.11 8.465151 17.041147
ENST00000479687.6 0.002051 0.004128

仔细检查一下,如果您还有其他问题,请告诉我。

关于linux - 如何去掉某列中的下划线以及下划线后面的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53939376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com