<p>I'm sure there is a quick and easy way to calculate the sum of a column of values on Unix systems (using something like <code>awk</code> or <code>xargs</code> perhaps), but writing a shell script to parse the rows line by line is the only thing that comes to mind at the moment.</p>

<p>For example, what's the simplest way to modify the command below to compute and display the total for the SEGSZ column (70300)?</p>

<pre><code>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
</code></pre>

You could start by running the data through
```
cut
```
- which would at least trim the columns down.
You should then be able to pipe that into
```
grep
```
, stripping-out non-numerics.
Then ... well, then I'm not sure. It might be possible to pipe that to
```
bc
```
. If not, it could certainly be handed to a shell script to add each item.
If you used
```
tr
```
to change the newlines (
```
\n
```
) to spaces (
```
```
), and piped that through xargs into your script that loops until there are no more inputs, adding each one, you may have an answer.
So, something akin to the following:
```
```
cat <whatever> | cut -d'\t` -f7 | grep -v <appropriate-character-class> | tr '\n' ' ' | xargs script-that-adds-arguments
```
```
I may have the
```
cut
```
flags slightly wrong - but
```
man
```
is your friend :)