Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Shell:在有零的情况下删除尾随小数点和零的健壮方法_Bash_Shell_Trim_Tr - Fatal编程技术网

Bash Shell:在有零的情况下删除尾随小数点和零的健壮方法

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为什

在bash脚本中,我有一个带小数点的(两位数)数字,后面是一位数

如果十进制分隔符后面有一个零,我想修剪分隔符和零

为了

…不应该有修剪。但在这种情况下:

foo=26.0 
我期望的结果是:

foo=26
tr
是正确的选择吗

我用
--delete.0
选项进行了尝试,但它只是删除了两个角色的所有外观


谢谢大家!

不仅适用于
bash

foo=$(echo "$foo" | sed 's/\.0$//')

对于bash:
echo“${foo//.0/}”
?@Cyrus
8.04
最终成为
84
为什么不简单地foo=“${foo%.*}”@ctac\ux:这可能只适用于
bash
,并删除点后的所有内容。我建议将
*
替换为
0
。我认为所有POSIX外壳都可以。在我看来,行动并不是全部。从26.5开始,他想得到26?
foo=$(echo "$foo" | sed 's/\.0$//')