行内のパターンの後に数字のペアが必要です。パターンは「mt =」であり、その位置は行内で可変であるため、mt = 83の場合、83のみが必要です。次のコードと例があります行の:
LINE=(10)un=5518666915/(34)ni=vvaummas03.me/ty=12/it=4/et=13/(8)id=ead57a5c/pt=7/to=20130408T155959Z/ot=2/(15)ed=ChangedGreeting/(16)ms=session_11218671/mt=81/
echo "$(expr substr $LINE $(($(echo $LINE | grep -b -o 'mt=' | cut -d: -f1)+4)) 2)"
命令を改善できることはわかっていますが、CentOS、Cygwin、および OpenSUSE ではうまくいきましたが、Solaris で実行すると、端末に grep オプション -o と -f1 命令が無効であることが示されます。また、 awk 命令と -c with cut; のような別のオプションにも問題があります。非常に限られているため、Solaris で一般的なコマンドを探しています。システムに何かを変更またはインストールすることは許可されていません。
助言がありますか?