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