我在linux中执行命令free -mo
,输出为:
total used free shared buffers cached
Mem: 64401 33265 31135 0 667 15455
Swap: 4099 0 4099
但我需要输出:
total used free
Mem: 64401 33265 31135
Swap: 4099 0 4099
我打算使用free -mo | awk '{print $1,$2,$3,$4}'
但我的结果是:
total used free shared
Mem: 64401 33268 31132
Swap: 4099 0 4099
感谢您的帮助。
答案 0 :(得分:3)
您可以使用:
free -mo |
awk '{print (NR==1?"Type":""), $1, $2, $3, (NR==1?"":$4)}' |
column -t
Added a column
输入第一行的第一行包含4列column -t
用于表格格式<强>输出:强>
Type total used free
Mem: 2003 163 1840
Swap: 1430 0 1430
答案 1 :(得分:1)
保留右对齐数字:
free -mo | awk 'BEGIN{len=0} NR==1{len=length(gensub(/free.*$/, "free",1))} {print substr($0,1,len)}'
total used free
Mem: 7913 7377 535
Swap: 8115 569 7546
答案 2 :(得分:1)
另一个没有填充标题的awk
$ awk -v OFS='\t' 'NR==1{print "",$1,$2,$3;next} {print $1,$2,$3,$4}' file
total used free
Mem: 64401 33265 31135
Swap: 4099 0 4099