我在shell中有任务,我们也可以使用awk。
我们得到了有关交易记录的文件。它看起来像这样:
2021-07-29 23:43:13;TSM;buy;667.90;USD;306;65fb53f6-7943-11eb-80cb-8c85906a186d
2021-07-29 23:43:15;BTC;sell;50100;USD;5;65467d26-7943-11eb-80cb-8c85906a186d
Run Code Online (Sandbox Code Playgroud)
我们想知道交易的利润。第三列说明股票是买入还是卖出。第四列是每只股票的价格,第六列是股票数量。我试过了,利润应该是 46 122.6 美元,但结果是 0。我是 awk 新手,所以我可能搞砸了语法。
a=$(awk -F ';' 'BEGIN{
loss=0
profit=0
if ($3 == "buy"){
$loss=($loss + $4*$6)
} else {
$profit=(expr $profit + $4*$6)
}
{print(profit - loss)}
}' $FILE)
echo "stonks: $a"
Run Code Online (Sandbox Code Playgroud)
awk -F ';' 'BEGIN{x=0} $3=="buy"{x=x-$4*$6}; $3=="sell"{x=x+$4*$6} END{print x}' file
Run Code Online (Sandbox Code Playgroud)
或者
awk -F ';' 'BEGIN{x=0} $3=="buy"{x-=$4*$6}; $3=="sell"{x+=$4*$6} END{print x}' file
Run Code Online (Sandbox Code Playgroud)
输出:
46122.6
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |