dat*_*789 5 bash awk if-statement
我有一个基本上评估 2 个十进制数的脚本。
if (( $(echo "$p $q" | awk '{ print ($1 < $2)}') )); then
echo "Evaluation: Acceptable!"
Run Code Online (Sandbox Code Playgroud)
q 是来自用户输入的小数或数字。
p 是计算出的数字。
因此,如果 p=1 且 q=2,则结果是可接受的。
问题#1
如果计算出的 p 为 -150,而 q=2,我们如何将其评估为不可接受的。基本上,如果 p 小于 0 或负值,结果应该是不可接受的。
问题#2
q 是一个范围:-q < 0 < q
示例:用户输入 q=0.01
可接受范围:-0.01 到 0.01
如果 p 在此范围内,则它是可接受的,否则不可接受。
有任何想法吗?
我认为这个 awk 对你来说应该足够了:
awk '{print ($1 > 0 && $1 < $2)}'
Run Code Online (Sandbox Code Playgroud)
关于您的要求#2:
由于根据要求#1,任何 p 都不能为负,因此只需检查$1 < $2就足够了。
| 归档时间: |
|
| 查看次数: |
24592 次 |
| 最近记录: |