Я всего n00b, когда дело доходит до использования sed
, и не могу понять это ...
У меня есть следующие данные, выводимые инструментом командной строки:
ruby:
interpreter: "ruby"
version: "1.8.6"
date: "2010-02-04"
platform: "i386-mingw32"
patchlevel: "398"
full_version: "ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]"
homes:
gem: ""
ruby: "C:\ruby\ruby-1.8.6-p398-i386-mingw32"
binaries:
ruby: "C:\ruby\ruby-1.8.6-p398-i386-mingw32\bin"
irb: "C:\ruby\ruby-1.8.6-p398-i386-mingw32\bin\irb.bat"
gem: "C:\ruby\ruby-1.8.6-p398-i386-mingw32\bin\gem.bat"
rake: ""
environment:
GEM_HOME: ""
HOME: "c:/Users/derick"
IRBRC: ""
RUBYOPT: ""
file associations:
.rb:
.rbw:
Я хочу использовать sed, чтобы извлечь значения только из interpreter
и version
и вернуть их как "версию-интерпретатор".
Лучшее, что я мог придумать, это использовать grep для возврата всей строки версии:
pik info | grep -e '^version:.*'
, но это возвращает слишком много информации из версиии не включает интерпретатор (очевидно).
Как я могу использовать sed
для извлечения только тех битов информации, которые мне нужны, чтобы я получил результат ruby-1.8.6
?
... или grep, или awk, или любой другой инструмент командной строки, чтобы получить необходимую информацию ...
FWIW: я не использую RVM, потому что это машина Windows, использующая MinGW32... я использую Pik, который похож на RVM, но сделан для Windows.