追加のパッケージをあまり使用せずに、bashの一部の文字列からバージョン番号を抽出したいと思います。これまでに試しsed
ました。
APIは次のとおりです。
3.81-8.1ubuntu1.1 should give : 3.81
2.68-1ubuntu2 should give : 2.68
1:1.11.3-1ubuntu2 should give : 1.11.3
これまでの私のsedコマンドは次のとおりです。
echo ... | sed -r 's/.*([0-9\.]+).*/\1/'
ただし、特に最後のケースでは、オープニング.*
は貪欲すぎます。私はいくつか試しましたが、成功.*?
し.\{-}
ませんでした。
私は2つのパスでそれを行うことができますが、私はむしろ1つのパスでそれを行う方法を学びたいと思います。