Regex bash-删除字符串的最后一部分

Regex bash-删除字符串的最后一部分,regex,bash,shell,Regex,Bash,Shell,我想知道从bash脚本运行的ruby版本 这可以通过ruby-v实现: $ ruby -v ruby 1.9.3p545 (2014-02-24) [i686-linux] Brightbox 我的问题是我只想要版本号。我如何将输出转换成这个 1.9.3p545 通过切割 $ ruby -v | cut -d" " -f2 1.9.3p484 通过awk $ ruby -v | awk '{print $2}' 1.9.3p484 试试这个: ruby -v | cut -d' ' -f

我想知道从bash脚本运行的ruby版本

这可以通过
ruby-v
实现:

$ ruby -v
ruby 1.9.3p545 (2014-02-24) [i686-linux] Brightbox
我的问题是我只想要版本号。我如何将输出转换成这个

1.9.3p545
通过切割

$ ruby -v | cut -d" " -f2
1.9.3p484
通过awk

$ ruby -v | awk '{print $2}'
1.9.3p484
试试这个:

ruby -v | cut -d' ' -f2
read p ver rest < <(ruby -v)
echo $ver

有些解决方案使用
awk
cut
,这会浪费子进程。试试这个:

read p ver rest < <(ruby -v)
echo $ver

read p ver rest<
p545
重要吗?如果没有,你可以做
ruby-e'putsruby\u VERSION'
@TomFenech cool!。没有换行符
ruby-e'$>