【发布时间】:2020-07-07 22:33:46
【问题描述】:
我想分享一种在 bash 中检查字符串是否为数字的方法。这个问题已经被问过here,但答案只适用于经典格式的整数或浮点数,当数字可以是科学格式时,它使用复杂的正则表达式。其次,我没有足够的声望来回答现有的问题(这里完全是新鲜的帐户......)。
所以问题是:
如何(轻松)检查字符串是否为 bash 中的数字?
字符串如下:
"1234"
"-1.234"
"1.23e4"
"+1.23E04"
etc.
在下面的...答案中回答。
【问题讨论】:
-
请在打开新问题之前检查问题是否已经存在。见How do I test if a variable is a number in Bash?
-
Zrin,我解释了为什么我在问题的文本中打开了一个新问题(没有足够的声誉来回答现有线程)。
-
Ed Morton,是的,我后来看到了这个,确实是同样的逻辑。太糟糕了,它在答案流中丢失了。接受的不是最好的。然后,我认为“返回”(打印)“真”或“假”比 1 或 0 更好,因为它是一个布尔值。使用目前的解决方案,这是可行的: if IsNumber $var;然后(...)fi。
标签: bash awk scientific-notation