【发布时间】:2018-05-17 06:33:36
【问题描述】:
我有这个 Bash Json Parser 的 2 个 API 的输出
curl 'APIxyz' | sed -e 's/[{}]/''/g' |\
awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' |\
grep -w "total_hash" | cut -c14-100
使用 cut 后,我得到了正确的数字(如 15.25),但我如何使用 2 次 curl 并将其相乘,宁愿不使用额外的 SH 脚本,这在 bash 中是否可行?如果怎么做?
【问题讨论】:
-
将管道的准确输出和所需的输出添加到您的问题中。
-
在
sed -e 's/[{}]/''/g'中,''完全没有做任何事情,而在awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}'中,您根本没有使用变量k,并且您完全使用带有数组的 split()不必要地与仅设置 FS 相比,如果您只想要 1 个数字输出,并且当您已经在使用 awk 时不需要 grep+sed+cut,那么该循环的意义何在。所以 - 你现有的脚本有一些问题,你可能想发布一个新问题来寻求帮助!