1

私は一日中私を悩ませてきたいくつかの本当に簡単な質問があります:

  1. の最初の番号を取得するにはどうすればよい$variableですか?

  2. 前の最初の番号を削除するにはどうすればよい";"ですか?

  3. どうすれば番号を変更でき$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"`
4

3 に答える 3

2

試す:

oldVal="${variable%%;*}"
variable="$updateNum;${variable#*;}"
于 2012-11-23T13:39:24.133 に答える
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 
于 2012-11-23T14:45:21.003 に答える
-1

最初の番号:echo $variable | sed '/[^[:digit:]]*\([[:digit:]]*\).*/ s::\1:'

他は同じように行うことができます

于 2012-11-23T14:06:23.627 に答える