gpt4 book ai didi

bash - 我如何比较bash中的 float

转载 作者:行者123 更新时间:2023-11-29 09:27:13 24 4
gpt4 key购买 nike

我正在编写脚本,但目前遇到了困难。 (这还是很新的)

首先我有我的数据文件,我正在里面搜索的文件。第一个字段是姓名,第二个字段是支付的金额,第三个字段是欠款。

客户数据.txt

 name1,500.00,1000
name2,2000,100
name3,100,100.00

这是我的 bash 文件。基本上,如果欠款金额大于支付金额,则打印姓名。适用于任何不是 float 的东西。我也知道 bash 不处理 float ,处理它们的唯一方法是使用 bc 实用程序,但我没有运气。

#!/bin/bash

while IFS="," read name paid owe; do
#due=$(echo "$owe - $paid" |bc -1)
#echo $due
if [ $owe -gt $paid ]; then
echo $name
fi
done < customerData.txt

最佳答案

打印第三列大于第二列的所有行:

$ awk -F, '$3>$2' customerData.txt 
name1,500.00,1000

工作原理

  • -F, 告诉 awk 列以逗号分隔。

  • $3>$2 告诉 awk 打印第三列大于第二列的任何行。

    更详细地说,$3>$2 是一个条件:它的计算结果为 true 或 false。如果它的计算结果为真,则执行该操作。由于我们没有指定任何操作,awk 执行默认操作,即打印该行。

关于bash - 我如何比较bash中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49145550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com