gpt4 book ai didi

linux - Bash,如何对每一行应用一个算术表达式?

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:09 26 4
gpt4 key购买 nike

我有两个脚本,A 和 B。

我想执行它们并分别读取两个值。 V 和 VALS。

V 只是一个 float ,比如说 0.5

VALS 具有以下格式:

1 10
2 20
3 60
4 45

等等。

我想要做的是获取一个新变量,其中 VALS 的第二列(10, 20, ...)除以 V。

据我了解,这可以通过 xargs 和 cut 的混合来实现,但我不太熟悉这些工具。

#!/bin/bash

V=`./A`
VALS=`./B`
RESULT=#magic happens

与之前数据的最终结果应该是:

1 20
2 40
3 120
4 90

最佳答案

Bash 的内置算术扩展仅适用于整数。您可以使用 awk 进行数据提取和 float 。

V=`./A`
# No VALS needed
RESULT=($(./B | awk "{print \$2 / $V"}))

注意 \$2 中转义的美元符号。

关于linux - Bash,如何对每一行应用一个算术表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48610446/

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