ケントの答えに従って、これはうまくいくことができます:
grep -Po '(?<=divider-bin-)\d.\d.\d'
さらに良い:
grep -Po '(?<=divider-bin-)[^;]+'
divider-bin-
文字が見つかるまでgrepします;
。このように、どのようなNNN.NNN. ... . NNN
形式でも機能します ( のブロック数に関係なくNN
)。
テスト:
$ echo "data-c(kuh-small1);divider-bin-1.4.4;divider-conf-1.3.3-w(1,16);storage-bin-1.5.4;storage-conf-1.5.0-w(1);worker-bin-4.5.1;worker-conf-4.4.1-c(kuh)-win2" | grep -Po '(?<=divider-bin-)[^;]+'
1.4.4
$ echo "data-c(kuh-small1);divider-bin-1.4;divider-conf-1.3.3-w(1,16);storage-bin-1.5.4;storage-conf-1.5.0-w(1);worker-bin-4.5.1;worker-conf-4.4.1-c(kuh)-win2" | grep -Po '(?<=divider-bin-)[^;]+'
1.4