使用bash脚本从变量中提取子字符串

use*_*777 3 bash awk

我有一个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脚本.谢谢.

use*_*001 5

可能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)