gpt4 book ai didi

unix - 在 Unix 上计算一列输出之和的最短命令?

转载 作者:行者123 更新时间:2023-12-03 06:07:06 25 4
gpt4 key购买 nike

我确信有一种快速简单的方法可以计算 Unix 系统上一列值的总和(也许使用 awkxargs 之类的东西),但目前唯一想到的就是编写一个 shell 脚本来逐行解析行。

例如,修改以下命令以计算和显示 SEGSZ 列 (70300) 的总计的最简单方法是什么?

ipcs -mb | head -6
IPC status from /dev/kmem as of Mon Nov 17 08:58:17 2008
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x411c322e --rw-rw-rw- root root 348
m 1 0x4e0c0002 --rw-rw-rw- root root 61760
m 2 0x412013f5 --rw-rw-rw- root root 8192

最佳答案

ipcs -mb | tail +4 | awk '{ sum += $7 } END { print sum }'

或者没有尾部:

ipcs -mb | awk 'NR > 3 { sum += $7 } END { print sum }'

使用 awk 和 bc 来获得任意长结果(归功于 Jouni K.):

ipcs -mb | awk 'NR > 3 { print $7 }' | paste -sd+ | bc

关于unix - 在 Unix 上计算一列输出之和的最短命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/295781/

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