Tente o próximo comando 'sed':
$ echo "Version 1.2.4.1 (release mode)" | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*//p'
1.2.4.1
Ele usa a sintaxe {i, j}, que seleciona a expressão várias vezes entre o primeiro e o último número. Não deveria haver nenhum número na string antes do número da versão.
Mais exemplos:
$ echo "Version 1.2.4.1.6 (release mode)" | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*//p'
1.2.4.1.6
$ echo "Version 1.2 (release mode)" | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*//p'
1.2
$ echo "Version 1.2. (release mode)" | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*//p'
$
EDITAR para comentários :
$ echo "Version 1.2.4.1.90 (release mode)" | sed -nre 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*//p'