我有一些非常简单的问题,这些问题一整天困扰着我:
如何获取$variable
中的第一个号码?
如何删除";"
之前的第一个数字?
如何使用$updateNum
更改号码?
$updateNum= 1
$variable="2;,A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7,C1,C2,C3,C4,C5,C6,C7,D1,D2,D3,D4,D5,D6,D7,E1,E2,E3,E4,E5,E6,E7,F1,F2,F3,F4,F5,F6,F7,G1,G2,G3,G4,G5"`
答案 0 :(得分:2)
尝试:
oldVal="${variable%%;*}"
variable="$updateNum;${variable#*;}"
答案 1 :(得分:0)
这将一气呵成:
variable=$(echo $variable | sed -E "s/[0-9]+?/$updateNum/")
基准:
time variable=$(echo $variable | sed -E "s/[0-9]+?/$updateNum/")
real 0m0.002s
user 0m0.001s
sys 0m0.000s
答案 2 :(得分:-1)
第一个号码:echo $variable | sed '/[^[:digit:]]*\([[:digit:]]*\).*/ s::\1:'
其他人可以完全相同