Muitas e muitas maneiras. Aqui estão alguns:
-
GNU Grep
$ echo 3.14.37-1-lts | grep -oP '^[^-]*' 3.14.37
-
sed
$ echo 3.14.37-1-lts | sed 's/^\([^-]*\).*//' 3.14.37
-
Perl
$ echo 3.14.37-1-lts | perl -lne '/^(.*?)-/ && print $1 3.14.37
ou
$ echo 3.14.37-1-lts | perl -lpe 's/^(.*?)-.*/$1/' 3.14.37
ou
$ echo 3.14.37-1-lts | perl -F- -lane 'print $F[0]' 3.14.37
-
awk
$ echo 3.14.37-1-lts | awk -F- '{print $1}' 3.14.37
-
cut
$ echo 3.14.37-1-lts | cut -d- -f1 3.14.37
-
Shell, até mesmo!
$ echo 3.14.37-1-lts | while IFS=- read a b; do echo "$a"; done 3.14.37