模块中的总大小

时间:2012-10-17 13:46:39

标签: bash shell unix size

我正在尝试使用unix libc.a命令查找size模块的总大小。

运行时,我会得到很多不同的文件总大小。我可以采用一种可能的方式来获取'size'输出的一列(在这种情况下,列dec,其中包含十进制文件的总大小)并添加它们?

这可以在命令行中完成吗?

2 个答案:

答案 0 :(得分:0)

一种方法:

size libc.a | awk '{ print " " $4 " " }' | tail -n +2 | paste -sd'+' | xargs expr

步骤:

  1. 使用size生成输出
  2. 使用awk打印插入空格之间的第四个字段
  3. 使用tail从第二行打印(即跳过第一行)
  4. 使用paste加入所有行,以+
  5. 分隔
  6. 使用xargs将结果作为参数传递给expr
    1. 使用expr添加值

答案 1 :(得分:0)

假设您对libc.a的实际文件大小不感兴趣,但想要计算dec输出中size列的总和,这里有一个命令行:

size libc.a | tail -n +2 | cut -f 4 | tr -d '\n' | sed "s/^ *//;s/ *$//;s/  */+/g;s/$/\n/" | bc