从字符串中删除一个字符

时间:2012-12-26 18:57:54

标签: linux bash sed awk cut

我只是想从变量中删除%符号,因此我可以对结果执行数学计算。我尝试了几件事,但似乎都没有效果:

$ output="23%"
# usep=$(echo $output | awk '{print $1}' | cut -d '%' -f 1)
# usep=`echo $output | sed 's/\%//g`
# usep=`echo $output | head -c 2`

变量usep仍包含%字符。有什么想法吗?

3 个答案:

答案 0 :(得分:7)

您可以使用POSIX参数替换:

$ output="23%"
$ usep=${output%%\%}
$ echo $usep
23

答案 1 :(得分:2)

output指定为

output="23%"

你错过了

中的第二个'
usep=`echo $output | sed 's/%//g'`

答案 2 :(得分:2)

不确定为什么使用cut的方法对您不起作用,但这是一个适合我的方法:

#!/bin/bash

output="23%"
usep=`echo $output | cut -d '%' -f 1`
echo $usep