Bash Shell:在有零的情况下删除尾随小数点和零的健壮方法
在bash脚本中,我有一个带小数点的(两位数)数字,后面是一位数 如果十进制分隔符后面有一个零,我想修剪分隔符和零 为了 …不应该有修剪。但在这种情况下:Bash Shell:在有零的情况下删除尾随小数点和零的健壮方法,bash,shell,trim,tr,Bash,Shell,Trim,Tr,在bash脚本中,我有一个带小数点的(两位数)数字,后面是一位数 如果十进制分隔符后面有一个零,我想修剪分隔符和零 为了 …不应该有修剪。但在这种情况下: foo=26.0 我期望的结果是: foo=26 tr是正确的选择吗 我用--delete.0选项进行了尝试,但它只是删除了两个角色的所有外观 谢谢大家! 不仅适用于bash: foo=$(echo "$foo" | sed 's/\.0$//') 对于bash:echo“${foo//.0/}”?@Cyrus8.04最终成为84为什
foo=26.0
我期望的结果是:
foo=26
tr
是正确的选择吗
我用--delete.0
选项进行了尝试,但它只是删除了两个角色的所有外观
谢谢大家! 不仅适用于
bash
:
foo=$(echo "$foo" | sed 's/\.0$//')
对于bash:
echo“${foo//.0/}”
?@Cyrus8.04
最终成为84
为什么不简单地foo=“${foo%.*}”@ctac\ux:这可能只适用于bash
,并删除点后的所有内容。我建议将*
替换为0
。我认为所有POSIX外壳都可以。在我看来,行动并不是全部。从26.5开始,他想得到26?
foo=$(echo "$foo" | sed 's/\.0$//')