在bash中分割这样的字符串的简单方法?

时间:2013-04-22 04:24:12

标签: bash shell

现在我有"temp:10"形式的字符串,我使用temp=$(echo $str|awk '{split($0,array,":")} END{print array[1]}')进行拆分,这是过度的,而且速度很慢......这样做必须更简单吗?

3 个答案:

答案 0 :(得分:4)

使用bash的参数扩展并删除后缀:

temp=${str%%:*}

答案 1 :(得分:2)

还有read命令:

$ str="temp:10"
$ IFS=: read before after <<< "$str"
$ echo "$before"
temp
$ echo "$after"
10

答案 2 :(得分:1)

如果我理解正确,您需要此示例中:temp之前的值。如果是这样,那么您可以使用cut命令:

cut -d':' -f1