You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用awk保留ps输出表头并将VSZ从KiB转换为MB格式?

解决方法

你可以用下面的awk命令实现需求,完美匹配你的示例场景:

ps -o pid,command,vsz | awk 'NR==1 {print; next} {printf "%6s %-16s %dMB\n", $1, $2, $3/1024}'

命令解释

  • NR==1 {print; next}:第一行(表头)直接原样输出,next跳过后续逻辑,保证表头不被修改。
  • 从第二行开始用printf格式化输出:
    • %6s:让PID列保持右对齐,和原ps输出的格式一致;
    • %-16s:COMMAND列左对齐,固定宽度16,维持列的整齐度;
    • %dMB:把VSZ列的KiB值除以1024后取整,再拼接MB单位。

示例验证

输入(ps输出):

PID COMMAND            VSZ
    9 bash              6304
  537 ps                7476

执行命令后输出:

PID COMMAND            VSZ
    9 bash              6MB
  537 ps                7MB

内容的提问来源于stack exchange,提问作者user15333414

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:31:03