我想要一行中的模式后的一对数字,模式是'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 上的常用命令。我不允许在系统上更改或安装任何东西。
有什么建议么?