Reputation: 1521
I need to get only first two numbers of "uname -r" command in bash
example of regular out put:
uname -r
3.5.0-18-generic
what I expect using magic bash options:
3.5
Upvotes: 2
Views: 2655
Reputation: 47189
You could also accomplish this with parameter expansion:
$ r="$(uname -r)"
$ echo ${r%.*}
3.5
${VAR%pat}
non-greedily removes pat
from the end of VAR
. Note that pat
is a glob pattern i.e. dot just means "dot" and star means "any-number-of-chars".
Upvotes: 2
Reputation: 424
assuming you want everything before the second dot, this will do what you want:
uname -r | cut -d. -f1-2
uname itself does not support cutting the output, afaik. The pipe through cut will show you fields 1 and 2 (-f1-2
), delimited by dots (-d.
)
Upvotes: 6