我正在尝试使用unix size
命令找到libc.a
模块的总大小。
运行它时,我会得到很多不同的文件总尺寸。我可以采用"大小"输出的一列的一种可能的方法(在这种情况下,dec
具有小数为十进制的文件)?
可以在命令行中执行吗?
做到这一点的一种方法:
size libc.a | awk '{ print " " $4 " " }' | tail -n +2 | paste -sd'+' | xargs expr
步骤:
- 使用
size
生成Ouput - 使用
awk
打印插入空间之间的第四个字段 - 使用
tail
从第二行打印(即跳过第一行) - 使用
paste
加入所有线路,由+
隔开 - 使用
xargs
将结果作为参数传递给expr
。- 使用
expr
添加值
- 使用
假设您对libc.a
的实际文件大小不感兴趣,但想计算size
输出中dec
列的总和,这是命令行:
size libc.a | tail -n +2 | cut -f 4 | tr -d 'n' | sed "s/^ *//;s/ *$//;s/ */+/g;s/$/n/" | bc