在 fasta 文件中重命名多个 header 以仅保留数字

Rename multiple header in a fasta file to leave only the numbers

我有一个包含多个 headers:

的 fasta 文件
     >CABITT030000001.1 genome assembly, contig: 1, whole genome shotgun sequence
    
     >CABITT030000002.1 genome assembly, contig: 2, whole genome shotgun sequence

.
.
.
.

我只想保留 CABITT03000000*.1 中的 12contig: 字符串后的数字。

输出:

>1
>2

我用 sed 命令试过了,但是没用。

sed 's/>.*/>1/' fasta.fa > newfasta.fa

继续您提供的示例输入,这应该有效:

sed -e 's/.* contig: \([[:digit:]]\).*/>/' fasta.fa
>1
>2

使用字符 class 作为数字 ([[:digit:]]),并捕获组(\( \) 并在替换中用 引用该组)。