我有一个bash变量,其值如下:
10:3.0,16:4.0,32:4.0,39:2.0,65:3.0,95:4.0,110:4.0,111:4.0,2312:1.0
Run Code Online (Sandbox Code Playgroud)
价值内没有空格.该值可以很长或很短.这里对65:3.0存在如此.比方说,我知道对的第一部分中的数字的值65.我想提取数字3.0或对65:3.0.我不知道的位置(偏移)65.
我将非常感谢能够进行此类提取的bash脚本.谢谢.
可能awk是最直接的方法:
awk -F: -v RS=',' '$1==65{print $2}' <<< "$var"
3.0
Run Code Online (Sandbox Code Playgroud)
或者得到这对:
$ awk -F: -v RS=',' '$1==65' <<< "$var"
65:3.0
Run Code Online (Sandbox Code Playgroud)