Hi guys,

I have a multi-fasta like this

    >Citrobacter_freundii_D8_6645..17576
    gtgatcgtcaagaaggttaagaacccgcagaaggcagca
    >Enterobacter_hormaechei_35012_3830..23574
    atggacgatagagaaagaggcttagcatttttatttgcaatt

And I would like to eliminate the numbers flanking .., to have an output like this

    >Citrobacter_freundii_D8
    gtgatcgtcaagaaggttaagaacccgcagaaggcagca
    >Enterobacter_hormaechei_35012
    atggacgatagagaaagaggcttagcatttttatttgcaatt

Since the number are variable, I guess just creating a command to remove x characters from the end of the fasta-header won't be enough.
Thanks!
If the example is representative, then you basically intend to keep the first three elements that are separated by `_`. If so, do:

    awk ' $1 ~ /^>/ { split($0,a,"_"); print a[1]"_"a[2]"_"a[3];next} {print}'

Command splits every line that starts with `>` at the `_` and then simply prints the first three separated by `_` again. Obviously that only works if all fasta headers look like the ones you showed.