Variante um pouco complicada, mas funciona muito bem.
head -2 file
join <(grep "Xm Gen CDS" file | cat -n) \
<(grep "Xm Gen extracted region" file | cat -n) | \
sed 's/^[0-9]* //;s/CDS [0-9]*\s[0-9]*\(\s.*interval="\([0-9]*\)\s<-\s\([0-9]*\)\)/CDS\t\t\t/;s/ Xm Gen extracted.*//'
grep "Xm Gen extracted region" file
para executá-lo como um script de shell
#!/bin/bash
FILE="$1"
head -2 "$FILE"
join <(grep "Xm Gen CDS" "$FILE" | cat -n) \
<(grep "Xm Gen extracted region" "$FILE" | cat -n) | \
sed 's/^[0-9]* //;s/CDS [0-9]*\s[0-9]*\(\s.*interval="\([0-9]*\)\s<-\s\([0-9]*\)\)/CDS\t\t\t/;s/ Xm Gen extracted.*//'
grep "Xm Gen extracted region" "$FILE"