gpt4 book ai didi

Sed 保留数字并丢弃扩展名

转载 作者:行者123 更新时间:2023-12-04 17:42:59 25 4
gpt4 key购买 nike

我有一个文件,其标题包含以下模式(制表符分隔)

1.mapped.bam 2.mapped.bam 3.mapped.bam ....

我愿意

SAMPLE_1 SAMPLE_2 SAMPLE_3 .....

我试过:

sed -r 's/([0-9])(.mapped.bam)/SAMPLE_\1/g 

但是得到了

1SAMPLE_1 2SAMPLE_2 3SAMPLE_3 ???

最佳答案

您可以使用以下 POSIX ERE 解决方案:

sed -E 's/([0-9]+)\.mapped\.bam/SAMPLE_\1/g'

等效的 BRE POSIX 解决方案是

sed 's/\([0-9][0-9]*\)\.mapped\.bam/SAMPLE_\1/g'

参见 online sed demo

这里,

  • ([0-9]+) - 第 1 组(后来用 RHS 中的 \1 占位符表示,替换模式):一位或多位数字<
  • \.mapped\.bam - 文字 .mapped.bam 子字符串。

请注意,在 POSIX BRE 和 ERE 中,括号表达式外的点必须转义以匹配文字点,并且捕获括号必须在 POSIX BRE 风格中转义。

关于Sed 保留数字并丢弃扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53608928/

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